From 67a0a3d2c4453eb1d401969a5055c5ea6ac56b80 Mon Sep 17 00:00:00 2001 From: me Date: Tue, 17 Feb 2026 13:21:27 +0300 Subject: [PATCH] update 3637 mod solution --- java/search/BinarySearch3637.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/java/search/BinarySearch3637.java b/java/search/BinarySearch3637.java index 062dcbd..ceb50fb 100644 --- a/java/search/BinarySearch3637.java +++ b/java/search/BinarySearch3637.java @@ -8,13 +8,10 @@ public class BinarySearch3637 { public static void main(String[] args) { IntList a = new IntList(); int x = Integer.parseInt(args[0]); - int n = args.length; - for (int i = 1; i < n; i++) { a.put(Integer.parseInt(args[i])); } - System.out.println(rightBound(x, a) - leftBound(x, a)); } @@ -23,13 +20,13 @@ public class BinarySearch3637 { high = a.getLength() - 1; while (low <= high) { int mid = low + (high - low) / 2; - if (a.get(mid) >= x) { - high = mid - 1; - } else { + if (a.get(mid) > x) { low = mid + 1; + } else { + high = mid - 1; } } - return low; + return high + 1; } static int rightBound(int x, IntList a) { @@ -37,13 +34,13 @@ public class BinarySearch3637 { high = a.getLength() - 1; while (low <= high) { int mid = low + (high - low) / 2; - if (a.get(mid) <= x) { + if (a.get(mid) >= x) { low = mid + 1; } else { high = mid - 1; } } - return low; + return high + 1; } static int searchIterativeDecreasing(int x, IntList a) {