fork(2) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static int BSL(String A[], String key)
  11. {
  12. int m;
  13. int l = 0, r = A.length;
  14.  
  15. while( r > l )
  16. {
  17. m = l + (r - l)/2;
  18.  
  19. if( A[m].compareTo(key) < 0 )
  20. l = m + 1;
  21. else
  22. r = m;
  23. }
  24.  
  25. return l;
  26. }
  27.  
  28. public static int BSR(String A[], String key)
  29. {
  30. int l = 0, r = A.length;
  31. int m;
  32.  
  33. while( r > l)
  34. {
  35. m = l + (r - l)/2;
  36.  
  37. if( A[m].compareTo(key) > 0 )
  38. r = m;
  39. else
  40. l = m + 1;
  41. }
  42. return r - 1;
  43.  
  44. }
  45. public static void main (String[] args) throws java.lang.Exception
  46. {
  47. String[] arr = {"aa","aa","bb","bb","bb","cc","cc","cc"};
  48. int l = BSL(arr, "aa");
  49. int r = BSR(arr, "aa");
  50. System.out.println(l);
  51. System.out.println(r);
  52.  
  53. }
  54. }
Success #stdin #stdout 0.08s 32556KB
stdin
Standard input is empty
stdout
0
1