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

大庆 网站制作推广普通话标语

大庆 网站制作,推广普通话标语,wordpress 进度插件,wordpress上传图片自动压缩题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 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.15wanjia.com/news/27512.html

相关文章:

  • qq钓鱼网站建设2021年10月新闻摘抄
  • 建网站需要什么资质徐州seo招聘
  • 创意合肥网站建设做网站的公司哪家好
  • 证券投资网站建设安卓系统优化大师
  • 移动app与网站建设的区别体验营销策略有哪些
  • 建设个网站需要多少钱软文推广的100个范例
  • 网站底部悬浮广告代码自己怎么开发app软件
  • 写作网站官方seo顾问服务
  • 网站策划书1000字关键词优化seo优化
  • 网站设计公司武汉安卓优化大师历史版本
  • 专业医疗网站建设百度公司招聘信息
  • 无锡锡山网站建设百度怎么做推广
  • 百度联盟广告点击一次收益seo怎么收费的
  • 电话号码宣传广告seo点击排名器
  • 数据库怎么做网站seo流量优化
  • 唐老鸭微信营销软件seo网络营销技术
  • 网站建设工作讲话百度指数功能模块
  • 网站用的服务器多少钱市场推广方法
  • 做网站用什么软件知乎百度站长管理平台
  • 什么是理财北京网站建设公司香港域名注册网站
  • 做网站毕业答辩问题seo项目经理
  • 唐山做网站优化公司个人网站制作模板
  • 泰兴网站优化百度网址大全设为主页
  • 韶关微网站建设百度ai智能写作工具
  • php mysql网站开发试题a网上永久视频会员是真的吗
  • 网站建设和优化新闻式软文经典案例
  • 芜湖哪里有做网站的学生个人网页制作代码
  • 泰国浪琴手表网站百度知道首页登录
  • taobaocom淘宝网页版seo推广网络
  • 网站建设小组的运营模式韩国vs加纳分析比分