14.First Position of Target

1.Description(Easy)

For a given sorted array (ascending order) and atargetnumber, find the first index of this number inO(log n)time complexity.

If the target number does not exist in the array, return-1.

Example

If the array is[1, 2, 3, 3, 4, 5, 10], for given target3, return2.

Challenge

If the count of numbers is bigger than 2^32, can your code work properly?

2.Code

 public int binarySearch(int[] nums, int target) {
       if(nums==null || nums.length==0)
         {
             return -1;
         }

         int start=0,end=nums.length-1;
         while(start+1<end)
         {
             int mid=start+(end-start)/2;
             if(nums[mid]==target)
             {
                 end=mid;
             }
             else if(nums[mid]>target)
             {
                 end=mid;
             }
             else
             {
                 start=mid;
             }
         }

         if(nums[start]==target)
             return start;
         if(nums[end]==target)
             return end;

         return -1;

    }

Last updated