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

交通部的建设标准网站关键词排名怎么上首页

交通部的建设标准网站,关键词排名怎么上首页,做网站的论坛,打开网站后直接做跳转页面吗背景: 在写力扣题目“搜素插入位置 ”时,发现二分法的一个细节点,打算记录下来,先看一张图: 我们知道,排序数组,更高效的是二分查找法~~~而二分法就是切割中间,定义left是最开始的&…

背景:

在写力扣题目“搜素插入位置 ”时,发现二分法的一个细节点,打算记录下来,先看一张图:

我们知道,排序数组,更高效的是二分查找法~~~而二分法就是切割中间,定义left是最开始的,也就是下标为0;right 是最后一个

那么这个mid到底怎么写? 

简单想到的是:int mid = (left + right) / 2;

但是还有更好的写法!那就是:int mid = left + (right - left) / 2

原因解析

1. 防止整数溢出(关键原因)

假设:

left = 2000000000right = 2100000000 (21亿)

使用 (left + right) / 2的情况下:

left + right = 2000000000 + 2100000000 = 4100000000

但 int 最大只能存储 2147483647(约21亿),会导致整数溢出变成负数!

使用 left + (right - left) / 2的情况下:

right - left = 100000000
(right - left)/2 = 50000000
left + 50000000 = 2050000000

完全不会溢出!!!!


2. 数学等价性

两者数学上是等价的:

left + (right - left)/2

= left + right/2 - left/2

= left/2 + right/2

= (left + right)/2

但计算机的整数运算会截断小数,所以写法不同会影响结果。

对比总结

写法安全性可读性推荐度
(left + right)/2可能溢出更直观❌ 不推荐
left + (right - left)/2绝对安全稍复杂✅ 推荐

案例题目练习:

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

示例 1:

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

输出: 2

代码实现:

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

http://www.dtcms.com/wzjs/477262.html

相关文章:

  • 做网站 需求seo顾问赚钱吗
  • 四川网站建设套餐seo专业培训课程
  • 网站备案需要把网站做好吗十大放黄不登录不收费
  • 做t恤的网站百度指数首页
  • 宜昌网站建设开发费用网页设计制作教程
  • 网站建设优化公司排名深圳推广公司推荐
  • 门户网站系统程序企业网站制作开发
  • 使用vue做的网站购物网站排名
  • 为什么网站开发要用架构建站流程主要有哪些
  • 黑龙江省住房和建设厅网站抖音seo排名系统哪个好用
  • 空包网站怎么做百度推广托管公司
  • 帮别人做网站多少钱公司网站模板设计
  • 吉林省城乡住房建设厅网站seo工资服务
  • 旅游网站建设启动方案上海服务政策调整
  • 牟平网站制作公司公司推广咨询
  • 网站后台尺寸一般做多大的页面优化的方法有哪些
  • 广告制作的软件网站推广与优化方案
  • 北京市公安局网站备案网站优化什么意思
  • 企业网站建设开题报告百度百度
  • 南和县建设局黄页网站网站怎么让百度收录
  • 公司注册地址挂靠费用怎么进行seo
  • win7 asp网站无法显示该页面16种营销模型
  • wordpress建站插件安全网络推广属于什么专业
  • 现在一般做B2B类网站用vue西安网
  • iis怎么做网站空间做网站推广的公司
  • 烟台消防建设信息网站成都seo技术
  • 大型网站建设方案安卓嗅探app视频真实地址
  • 淘客如何做网站推广今日头条淄博新闻
  • 米拓cms建站系统谷歌seo排名
  • 公司怎么做网站营销型网站建设需要多少钱