Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Example 1:
Input: [1,3,5,6], 5 Output: 2
Example 2:
Input: [1,3,5,6], 2 Output: 1
Example 3:
Input: [1,3,5,6], 7 Output: 4
Example 4:
Input: [1,3,5,6], 0 Output: 0
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class SearchInsertPos { public static void main(String args[]) { int[] arr = { 1, 3, 5, 6 } ; int target = 0; System.out.println(searchInsPos(arr, target)); } public static int searchInsPos(int[] arr, int target){ if(arr.length==0) return -1; int i = 0; while(i < arr.length && target > arr[i]){ i++; } return i; } } |
Python
def searchInsertPosition(arr, target): if arr is None or len(arr)==0: return -1 i = 0 while i < len(arr) and arr[i] < target : i += 1 return i arr = [1, 3, 5, 6] target = 4 print(searchInsertPosition(arr, target))