説明#
ソートされた配列と目標値が与えられた場合、配列内で目標値を見つけてそのインデックスを返します。目標値が配列内に存在しない場合、順番に挿入される位置を返します。
配列に重複する要素がないと仮定できます。
例 1:
入力: [1,3,5,6], 5
出力: 2
例 2:
入力: [1,3,5,6], 2
出力: 1
例 3:
入力: [1,3,5,6], 7
出力: 4
例 4:
入力: [1,3,5,6], 0
出力: 0
アプローチ#
- 配列を走査し、現在の要素が目標値以上であればインデックスを返す
- 走査が終了したら配列のサイズを返し、つまり配列の最後に挿入する
int searchInsert(int* nums, int numsSize, int target){
for(int i=0;i<numsSize;i++)
if(nums[i] >= target)
return i;
return numsSize;
}