35. Search Insert Position
Given a sorted array of distinct integers 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.
Example 1:
Input: nums = [1,3,5,6], target = 5
Output: 2
Example 2:
Input: nums = [1,3,5,6], target = 2
Output: 1
Example 3:
Input: nums = [1,3,5,6], target = 7
Output: 4
Example 4:
Input: nums = [1,3,5,6], target = 0
Output: 0
Example 5:
Input: nums = [1], target = 0
Output: 0
Constraints:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums
contains distinct values sorted in ascending order.-104 <= target <= 104
public class Solution {
public int SearchInsert(int[] nums, int target) {
if(nums == null)
return 0;
if(target > nums.Last())
return nums.Length;
var pos = 0;
if(nums.Contains(target)){
pos = Array.IndexOf(nums, target);
}
else{
for(int i = 0; i < nums.Length; i++){
if(nums[i] > target){
pos = i;
break;
}
}
}
return pos;
}
}
Last updated
Was this helpful?