LeetCode 35. Search Insert Position

LeetCode 35. Search Insert Position

Description:

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


分析:

做完LeetCode标签Array下所有Easy题目了,这道题依然很简单,循环遍历数组,target小于等于数组中的数是返回数组下标,即使结果;若循环结束依然没找到,说明target比数组中的数都大,插到数组最后,即是数组大小,返回该数组大小即可。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
for (int i = 0; i < nums.size(); i++) {
if (target == nums[i]) {
return i;
}
else if (target < nums[i]) {
return i;
}
}
return nums.size() + 1;
}
};
int main() {
Solution s;
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
int target;
cin >> target;
cout << s.searchInsert(nums, target);
return 0;
}
------本文结束感谢阅读------