だから、私はこのような配列を持っています:
a[1] = 2
a[4] = 3
a[8] = 1
このシーケンスを表す1 1 4 4 4 8
そして、中間の要素、または前の要素 (奇数と偶数の場合) を見つける必要があります。この例では 4 です。
どうすればこれをすばやく行うことができますか?
私のコードは非常に遅いです:
static int B(int[] array, int size) {
int c = 0;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i]; j++) {
c++;
if (c == size / 2) {
return i;
}
}
}
}