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

网站建设与运营公司财务预算郑州网站建设与设计

网站建设与运营公司财务预算,郑州网站建设与设计,温州网站建设和运营,站长工具seo综合查询是什么意思题目 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 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/875694/

相关文章:

  • 最好的网站建设网站数据库访问
  • 衡水营销网站建设如何查看网站页面大小
  • 常德红网官网网站河南网站优化要多少钱
  • 免费网站分析seo报告是坑吗做网站一班需要多少钱
  • 云南省网站开发软件自建网站做外贸谷歌推广
  • ppt模板下载的网站网站设置路由器
  • dede 获取网站标题做医疗设备的网站
  • 91大神网站建设公众号微信
  • 做网站怎么接广告赚钱吗做淘宝客进哪个网站
  • 网站在排版有哪些方法wordpress文章内图片不显示不出来
  • 中职国示范建设网站赣州网站设计较好的公司
  • 舆情网站直接打开的软件游戏行业为啥30岁就要转行
  • 如何建设网站咨询跳转页面网站升级 html
  • 运动健身类网站开发广西建设厅考试网站首页
  • 做娃衣的布料去哪个网站天津建设银行网站
  • 大庆网站优化网页设计图片向左移是什么代码
  • 免费网站平台wordpress 视频直播
  • 佛山网站建设原创济宁百度推广公司有几家
  • wordpress xmlrpc apiwordpress seo插件
  • 网站域名包括文档里网站超链接怎么做
  • 做全国家电维修网站到哪里做做网站ui主要研究内容
  • thinkphp做的网站怎么预览黄平网站建设
  • 有什么教做维c甜品的网站网页翻译网站
  • 以个人名义做地方门户网站wordpress最简单的主题
  • win10记事本怎么做网站深圳在建高铁站
  • 微网站怎么制作数据网站建设工具模板
  • 天津市做网站公司网站tdk建设
  • 瑞士自助游 做的好的网站网站版建设
  • 保定seo网站排名商标logo图片
  • 宜春招聘网站开发区招工制作网站服务公司