我試圖計算一個數組中的反轉次數。當它應該是4時,我得到3的結果。這是我的代碼。爲什麼我沒有得到正確的輸出?
int[] array1 = new int[5];
array1[0] = 3;
array1[1] = 7;
array1[2] = 10;
array1[3] = 6;
array1[4] = 4;
int count = 0;
for(int i =0;i<array1.length;i++){
for(int j =i+1;j<array1.length;j++){
if(array1[i]> array1[j]){
count++;
}
}
}
System.out.println(count);
任何人都知道爲什麼要這樣做?感謝
ArrayIndexOutOfBoundException here。你將'i'遞增到array1.length。它應該是'<'不是'<=' –
爲什麼i ++ j ++裏面有for循環。請檢查循環增量邏輯。 – bakki
感謝您的提示,我改變了它,但我仍然得到3 – lc112