Leetcode 35. 挿入位置の検索(C++)

1181 ワード

ソート配列とターゲット値を指定し、配列内にターゲット値を見つけ、インデックスを返します.ターゲット値が配列に存在しない場合は、順番に挿入される位置を返します.
配列に重複要素がないと仮定できます.
例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

class Solution {public:    int searchInsert(vector& nums, int target) {        int left=0;        int right=nums.size()-1;        int mid;        if(target>nums[nums.size()-1]) return nums.size();        else if(target        else if(right==0) return 0;        else{            while(left<=right)            {                mid=(left+right)/2;                if(nums[mid]==target) return mid;                else if(nums[mid]                else if(nums[mid]>target) right=mid-1;            }        return left;        }    }};