by Anonymous » 01 Feb 2025, 06:54
Ich habe Code, der ein sortiertes Array durchsucht und den Index des ersten Auftretens von k.while(left
statt < /p>
while(left
Hier ist der vollständige Code: < /p>
public static int searchFirstOfK(List A, int k) {
int left = 0, right = A.size() - 1, result = -1;
// A.subList(left, right + 1) is the candidate set.
while (left k) {
right = mid - 1;
} else if (A.get(mid) == k) {
result = mid;
// Nothing to the right of mid can be the first occurrence of k.
right = mid - 1;
} else { // A.get(mid) < k
left = mid + 1;
}
}
return result;
}
< /code>
Woher weiß ich, wann ich linke Verwendung geringer oder gleich rechts ist oder einfach links verwenden kann, ist weniger als rechts.
Ich habe Code, der ein sortiertes Array durchsucht und den Index des ersten Auftretens von k.while(left
statt < /p>
while(left
Hier ist der vollständige Code: < /p>
public static int searchFirstOfK(List A, int k) {
int left = 0, right = A.size() - 1, result = -1;
// A.subList(left, right + 1) is the candidate set.
while (left k) {
right = mid - 1;
} else if (A.get(mid) == k) {
result = mid;
// Nothing to the right of mid can be the first occurrence of k.
right = mid - 1;
} else { // A.get(mid) < k
left = mid + 1;
}
}
return result;
}
< /code>
Woher weiß ich, wann ich linke Verwendung geringer oder gleich rechts ist oder einfach links verwenden kann, ist weniger als rechts.