您的位置:首页 > 其它

【lintcode笔记】搜索插入位置

2017-02-21 15:11 288 查看
给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。

你可以假设在数组中无重复元素。

样例

[1,3,5,6],5 → 2

[1,3,5,6],2 → 1

[1,3,5,6], 7 → 4

[1,3,5,6],0 → 0

//复杂度O(n)
#include <stdio.h>
#include <vector>
using namespace std;
class Solution {
/**
* param A : an integer sorted array
* param target :  an integer to be inserted
* return : an integer
*/
public:
int searchInsert(vector<int> &A, int target) {
// write your code here
int n = A.size();
if(n == 0) return 0;
int i;
for(i=0;i<=n-1;i++){
if(A[i] == target){
return i;
}else if(A[i] < target){
if(i+1 == n) return i+1;
}else{
return i;
}
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: