LeetCode(二分查找法) 入门练习三
Posted Mr.zhou_Zxy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(二分查找法) 入门练习三相关的知识,希望对你有一定的参考价值。
LeetCode(二分查找法) 入门练习三
2021-11-18
题目
35.
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
示例 1:
输入: nums = [1,3,5,6], target = 5
输出: 2
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/search-insert-position
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
实现
/**
* @author zxy
* @date 2021-11-18
*/
class Solution
public int searchInsert(int[] nums, int target)
int left = 0;
int right = nums.length - 1;
int mid = 0;
while(left <= right)
mid = left + ((right - left) >> 1);
if(nums[mid] == target)
return mid;
else if(nums[mid] < target)
left = mid + 1;
else
right = right - 1;
return left;
认为特点
return left;
在left和right之间查找跟target匹配的值
当left > right的时候,说明没有找到与target匹配的值
那么就返回left
以上是关于LeetCode(二分查找法) 入门练习三的主要内容,如果未能解决你的问题,请参考以下文章