Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.16 KB | None | 0 0
  1. public class Solution {
  2.  
  3.     public int searchInsert(int[] nums, int target) {
  4.         return searchHelper(nums, target, 0, nums.length - 1);
  5.     }
  6.    
  7.     public int searchHelper(int[] nums, int target, int start, int end){
  8.         if(nums.length == 0){
  9.             return 0;
  10.         } else if (start == end){
  11.             int element = nums[start];
  12.             if(element == target){
  13.                 return start;
  14.             } else if (element > target){
  15.                 return  start;
  16.             } else {
  17.                 return start + 1;
  18.             }
  19.         } else {
  20.             int returnVal;
  21.             int offset = (end - start) / 2;
  22.             int middle = start + offset; //middle index
  23.             int middleNum = nums[middle]; //middle number
  24.             if(target == middleNum){
  25.                 returnVal = middle;
  26.             } else if(target > middleNum){
  27.                 returnVal = searchHelper(nums, target, Math.min(middle + 1, end), end);
  28.             } else {
  29.                 returnVal = searchHelper(nums, target, start, Math.max(middle - 1, start));
  30.             }
  31.             return returnVal;
  32.         }
  33.     }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement