35. Search Insert Position
题目描述:
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.
Here are few examples.
[1,3,5,6], 5 → 2
[1,3,5,6], 2 → 1
[1,3,5,6], 7 → 4
[1,3,5,6], 0 → 0
题解:
二分查找
在已排序数组中找到对应值,输出其在数组中的下标,
若找不到该值,输出其应该插入的位置
solution1:
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
if (nums.empty()) {
return 0;
}
int low = 0;
int high = nums.size() - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (nums[mid] == target) {
return mid;
}
if (nums[mid] > target) {
high = mid - 1;
} else {
low = mid + 1;
}
}
return low;
}
};

本文解析了LeetCode上的第35题“Search Insert Position”,介绍了如何使用二分查找法在已排序数组中找到目标值的索引位置,若不存在则给出正确的插入位置。
756

被折叠的 条评论
为什么被折叠?



