update 3637 mod solution
All checks were successful
Binary Search Test / test (push) Successful in 6s

This commit is contained in:
2026-02-17 13:21:27 +03:00
parent 358d09e307
commit 67a0a3d2c4

View File

@@ -8,13 +8,10 @@ public class BinarySearch3637 {
public static void main(String[] args) { public static void main(String[] args) {
IntList a = new IntList(); IntList a = new IntList();
int x = Integer.parseInt(args[0]); int x = Integer.parseInt(args[0]);
int n = args.length; int n = args.length;
for (int i = 1; i < n; i++) { for (int i = 1; i < n; i++) {
a.put(Integer.parseInt(args[i])); a.put(Integer.parseInt(args[i]));
} }
System.out.println(rightBound(x, a) - leftBound(x, a)); System.out.println(rightBound(x, a) - leftBound(x, a));
} }
@@ -23,13 +20,13 @@ public class BinarySearch3637 {
high = a.getLength() - 1; high = a.getLength() - 1;
while (low <= high) { while (low <= high) {
int mid = low + (high - low) / 2; int mid = low + (high - low) / 2;
if (a.get(mid) >= x) { if (a.get(mid) > x) {
high = mid - 1;
} else {
low = mid + 1; low = mid + 1;
} else {
high = mid - 1;
} }
} }
return low; return high + 1;
} }
static int rightBound(int x, IntList a) { static int rightBound(int x, IntList a) {
@@ -37,13 +34,13 @@ public class BinarySearch3637 {
high = a.getLength() - 1; high = a.getLength() - 1;
while (low <= high) { while (low <= high) {
int mid = low + (high - low) / 2; int mid = low + (high - low) / 2;
if (a.get(mid) <= x) { if (a.get(mid) >= x) {
low = mid + 1; low = mid + 1;
} else { } else {
high = mid - 1; high = mid - 1;
} }
} }
return low; return high + 1;
} }
static int searchIterativeDecreasing(int x, IntList a) { static int searchIterativeDecreasing(int x, IntList a) {