我想擠出每一個,但我的Java黑白棋程序,並有一個點,我需要計算一個給定的數字出現的實例的數量。例如陣列[] {1,1,2,1,0,1}將計數(1)返回4下面是企圖予以速度通過計算的所有數值由但這是較慢:從數組中計數單個int的更有效方法?
public void count(int color) {
byte count[] = new byte[3];
for (byte i = 0; i < 64; i++)
++count[state[i]];
return count[color];
}
到目前爲止,這是最高效的代碼我已經測試:
public void count(int color) {
byte count = 0;
for (byte i = 0; i < 64; i++)
if (this.get(i) == color)
count++;
return count;
}
有誰認爲他們可以擠一些速度出來呢?我只需要指定數量的計數,僅此而已。
你實際上只能使這個速度更快,如果數組進行排序,規模較小,或兩者兼而有之。 – 2013-04-25 04:23:11