[LeetCode] 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.
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
解题思路
这道题目的意思是很容易理解的,就是给你一个排序好的vector和一个值target,让你找到这个target在vector中对应的位置。解决方法是将vector中元素遍历,找到比target大的第一个值,那个值在vector中的序号就是所求的位置了。
还有一种特殊情况就是整个vector中没有比它大的元素,就直接给他放在整个vector的最后,即对应的序号就是原vector的size。
实验代码
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
int s = nums.size(), res = 0, t = 0;
for (int i = 0; i < s; i++) {
if (nums[i] < target) continue;
else {
res = i;
t = 1;
break;
}
}
if (t == 0) res = s;
return res;
}
};
本文介绍了一道LeetCode上的经典算法题目——搜索插入位置的解题思路及实现方法。题目要求在已排序的数组中查找目标值的位置,若不存在则返回其应插入的位置。文中提供了一个C++版本的解决方案。
463

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



