本文共 825 字,大约阅读时间需要 2 分钟。
一.解法
https://leetcode-cn.com/problems/search-insert-position/
要点:二分法
这题可以直接遍历一遍做但是没有二分搜索快
C++和Python直接用了遍历法
Java中用了二分搜索法
二.Python实现
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
nsize=len(nums)
for i in range(nsize):
if nums[i]>=target:
return i
return nsize
三.C++实现
class Solution {
public:
int searchInsert(vector& nums, int target) {
int nsize=nums.size();
for(int i=0;i
if(nums[i]==target){
return i;
}
else if(nums[i]>target){
return i;
}
}
if(nums[nsize-1]
return nsize;
}
return 0;
}
};
四.java实现
class Solution {
public int searchInsert(int[] nums, int target) {
int left = 0, right = nums.length - 1;
while(left <= right) {
int mid = (left + right) / 2;
if(nums[mid] == target) {
return mid;
} else if(nums[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return left;
}
}
转载地址:http://wuima.baihongyu.com/