19.2.3 [LeetCode 35]
阿新 • • 發佈:2019-02-03
題解 font sum closed pub 二分 family NPU public
Given a sorted array 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.
You may assume no duplicates in the array.
Example 1:
Input: [1,3,5,6], 5
Output: 2
Example 2:
Input: [1,3,5,6], 2
Output: 1
Example 3:
Input: [1,3,5,6], 7
Output: 4
Example 4:
Input: [1,3,5,6], 0
Output: 0
題意
找插入位置
題解
1 class Solution { 2 public: 3 int searchInsert(vector<int>& nums, int target) { 4 if (nums.back() < target)return nums.size(); 5 int size = nums.size(), s = 0, e = size - 1View Code; 6 while (s <= e) { 7 int mid = (s + e) / 2; 8 if (nums[mid] < target) 9 s = mid + 1; 10 else 11 e = mid - 1; 12 } 13 return s; 14 } 15 };
加上第一行的特判比單純二分要快一倍,很奇妙
19.2.3 [LeetCode 35]