Advertisement
GokulDeep

SearchKey

Mar 2nd, 2024
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.44 KB | None | 0 0
  1. package com.gokul.demo.InProgress;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. import java.util.Arrays;
  6.  
  7. public class SearchKey {
  8.  
  9.     public static void main(String[] args) throws java.lang.Exception {
  10.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  11.  
  12.         int N = Integer.parseInt(reader.readLine());
  13.         String[] inputTokens = reader.readLine().split(" ");
  14.  
  15.         // int a = 0;
  16.  
  17.         int[] arr = new int[N];
  18.  
  19.         for (int i = 0; i < N; i++) {
  20.             arr[i] = Integer.parseInt(inputTokens[i]);
  21.         }
  22.         int T = Integer.parseInt(reader.readLine());
  23.         int[] testArr = new int[T];
  24.         for (int j = 0; j < T; j++) {
  25.             testArr[j] = Integer.parseInt(reader.readLine());
  26.         }
  27.  
  28.         for (int c = 0; c < testArr.length; c++) {
  29.             int l = 0;
  30.             int h = arr.length - 1;
  31.             int m = 0;
  32.             int k = testArr[c];
  33.             keyFind(k, l, h, arr, m);
  34.  
  35.         }
  36.  
  37.     }
  38.  
  39.     public static int keyFind(int k, int l, int h, int[] arr, int m) {
  40.         while (l <= h) {
  41.             m = (l + h) / 2;
  42.             if (arr[m] == k) {
  43.                 System.out.println(m);
  44.                 return m;
  45.             } else if (arr[m] < k) {
  46.                 l = m + 1;
  47.             } else {
  48.                 h = m - 1;
  49.             }
  50.         }
  51.         System.out.println(-1);
  52.         return -1;
  53.     }
  54. }
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement