[LeetCode] 35.Search Insert Position

来源:互联网 发布:村淘再用淘宝客 编辑:程序博客网 时间:2024/06/08 18:21

[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;    }};