您的位置:首页 > 其它

[LeetCode]Search Insert Position

2015-07-11 17:53 267 查看
称号:给定的一组数字。集数字上升。给定一个数字target,获取数字target放置在集合索引值(同样升序)

算法:一个简单的比较

public class Solution {
public int searchInsert(int[] A, int target) {
int i = 0;
for (; i<A.length; ++i) {
if (target <= A[i]) {
break;
}
}
return i;
}
}


算法:二分查找

原理:集合数字有序,依据二分查找可不断缩小target在集合中的范围

public class Solution {
public int searchInsert(int[] A, int target) {
int left = 0;
int right = A.length-1;
int mid = (left + right) / 2;
while (left <= right) {
if (target == A[mid]) {
break;
}
else if (target < A[mid]) {
right = mid - 1;
}
else {
left = mid + 1;
}

mid = (left + right) / 2;
}

if (target == A[mid]) {
return mid;
}
else {
return left;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: