您的位置:首页 > 其它

LeetCode:Search Insert Position

2017-03-05 19:51 309 查看
继续刷题中。。。。

废话少说,先上题目: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.

大概意思就是,给你一个已经排好序的数组,和一个目标数字,如果 the target value存在这个数组中则返回它在数组中的index,否则插入到数组中保证数组仍然是排好序的,返回它插入后的位置

既然数组排序了,就很好办了,我接下来讲一下自己的思路

1、遍历一下数组,看一下target value是否存在于数组中,如果有就返回,结束算法

2、如果没有找到这个target,那么我们就应该找到target应该在的位置,然后返回;

3、为了找到它应该在的位置,我们还是需要遍历数组,将数组中每一个value分别与target比较,如果小于target那么pos=i+1;

如果大于于target,那么pos=i,且break;

4、那么最后返回的pos便是它的位置

思路清楚了,我们就可以写代码了,附上我的代码

int searchInsert(vector<int>& nums, int target) {

     for(int i=0;i<nums.size();i++)

     {

         if(nums[i]==target)

         return i;

     }

     int pos=-1;

     for(int i=0;i<nums.size();i++)

     {

         if(nums[i]<target)

           pos=i+1;

         if(nums[i]>target)

         {

         pos=i;

         break;

         }

     }

     return pos;

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: