Leetcode 35. 挿入位置の検索(C++)
1181 ワード
ソート配列とターゲット値を指定し、配列内にターゲット値を見つけ、インデックスを返します.ターゲット値が配列に存在しない場合は、順番に挿入される位置を返します.
配列に重複要素がないと仮定できます.
例1:
例2:
例3:
例4:
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; } }};
配列に重複要素がないと仮定できます.
例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; } }};