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: 2Example 2:
Input: nums = [1,3,5,6], target = 2
Output: 1Example 3:
Input: nums = [1,3,5,6], target = 7
Output: 4Example 4:
Input: nums = [1,3,5,6], target = 0
Output: 0Example 5:
Input: nums = [1], target = 0
Output: 0Constraints:
- 1 <= nums.length <= 104
- -104 <= nums[i] <= 104
- numscontains 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?