fork download
  1. import java.util.*;
  2. public class Main {
  3. public static void main(String[] args) {
  4. boolean []arr = {false,false,false,false,false,false,false,false,false,false,true,true,true,true,true,true};
  5. int[] ans = new int[2];
  6. ans[0] = firstIndex(arr);
  7. ans[1] = lastIndex(arr);
  8. System.out.println(ans[0] +" "+ans[1]);
  9. }
  10. public static int firstIndex(boolean []arr){
  11. int f =0; int b = arr.length-1;int ans = -1;
  12. while(f<=b){
  13. int mid = f+(b-f)/2;
  14.  
  15. if(arr[mid] == true){
  16. ans = mid; b = mid -1;
  17. }
  18. else{
  19. f = mid+1;
  20. }
  21. }
  22. return ans;
  23. }
  24.  
  25. public static int lastIndex(boolean []arr){
  26. int f =0; int b = arr.length-1;int ans = -1;
  27. while(f<=b){
  28. int mid = f+(b-f)/2;
  29.  
  30. if(arr[mid] == true){
  31. ans = mid; f = mid +1;
  32. }
  33. else{
  34. b = mid-1;
  35. }
  36. }
  37. return ans;
  38. }
  39.  
  40.  
  41. }
  42.  
Success #stdin #stdout 0.14s 57452KB
stdin
Standard input is empty
stdout
10             -1