当前位置: 首页 > news >正文

如何分析对手网站关键词小企业网站建设

如何分析对手网站关键词,小企业网站建设,网推赚钱项目,遂宁商城网站建设题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2 示例 …

题目

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。

示例 1:

输入: nums = [1,3,5,6], target = 5
输出: 2

示例 2:

输入: nums = [1,3,5,6], target = 2
输出: 1

示例 3:

输入: nums = [1,3,5,6], target = 7
输出: 4

提示:

1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 为 无重复元素 的 升序 排列数组
-104 <= target <= 104

代码

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

        }else{left=mid+1;}}return left;
}

}

关于为什么最后返回left,这里涉及到二分查找的边界条件处理。当while循环结束时,意味着left > right,即没有找到与target相等的元素。此时,left实际上就是target应该插入的位置。这是因为:

在每次迭代中,如果target小于中间位置的值nums[mid],我们就把右边界right移到mid - 1,这意味着target应该插入到mid或者更左边。
如果target大于中间位置的值nums[mid],我们就把左边界left移到mid + 1,这意味着target应该插入到mid的右边。
当left超过right时,left正好指向了target应该插入的位置,因为在最后一次有效的比较中:如果target小于nums[mid],那么right会被更新为mid - 1,而left保持不变,因此left是正确的位置。如果target大于nums[mid],那么left会被更新为mid + 1,这同样指向了target应该插入的位置,因为所有比target小的数都在它的左边。

所以,在找不到target的情况下,循环结束时的left就是target按顺序插入的位置。

暴力解法
class Solution {
public int searchInsert(int[] nums, int target) {
for(int i=0;i<nums.length;i++){
if(nums[i]>=target){
return i;
}

    }return nums.length;
}

}

http://www.yayakq.cn/news/677949/

相关文章:

  • 衡水微网站制作怎么做做网站放广告
  • 苏宁电器网站建设特点分析做电子商务网站注册哪一类商标
  • 南宁做网站优化的公司网站建设代码结构
  • 网站建设做网站好做吗网站上的动态背景怎么做的
  • 青岛市住房城乡建设厅网站网站首页怎么做ps
  • 网站建站收费手机租赁 网站开发
  • 电脑公司网站源码大连旅顺景点
  • 网站怎么做外联WordPress留言板dux
  • 网页建站实用技术一个好网站设计
  • 做网站需要登录什么软件5年网站续费多少钱
  • 网站制作多少钱啊制作和淘宝商城一样网站
  • 做字画的网站wordpress不支持自定主题字体
  • 长沙专业网站建设公司哪家好河北省住房和城乡建设厅网站查
  • 网站开发学校免费动图制作app
  • 网站免费注册项目网络图最早开始时间
  • 网站建设引言做企业公示的数字证书网站
  • 医院网站加快建设企业所得税什么时候交
  • 公司免费网站搭建建设网站文案标识语
  • 徐州网站定制公司广州安全教育平台登录账号登录
  • 网站安全的必要性寓意八方来财的公司名字
  • 简述电子商务网站开发流程wordpress模板友情链接添加
  • 大网站的二级域名网站建设简介是什么
  • 平面设计免费网站wordpress 问答类主题
  • 建设行业信息和技术应用服务网站房产经济人怎么做网站
  • 网站制作明细报价表网页设计外包价格
  • 建筑网站、市政工程公司
  • 网站优化流程齿轮机械东莞网站建设技术支持
  • html5餐饮美食订餐微官网wap手机网站模板整站下载上海 网站设计
  • 网页设计就是做网站优化的吗有没有网址发一下
  • 北京网站域名备案查询wordpress访问后台