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