import java.util.*; public class Main { public static void main(String[] args) { Scanner scn=new Scanner(System.in); String str=scn.nextLine().replaceAll(" ", ""); String arr[]=str.split(","); int count =0; for(int i=0;i<arr.length;i++) { for(int j=i-1;j>=0;j--) { if(Integer.parseInt(arr[i])<Integer.parseInt(arr[j])) count++; } } System.out.println("Complaint ="+count); } /*題目:[C_ST35-易] 抱怨值問題 作者:1010 時間:西元 2018 年3 月 */ }
一開始寫完交出去結果回傳1,仔細看題目發現原來數字間除了逗號外還可能包含多個空白!
所以解婕辦法是先將所有的空白用(replaceAll)取代空字串,最後再用(split)來切逗號數字,這題是找目前數字之前有幾個比自己還大,所以利用O(n2)方式下去搜。
沒有留言:
張貼留言