当前位置: 首页 > 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://SwzcXvyd.hwbmn.cn
http://L2ce6NDp.hwbmn.cn
http://3viFsXGC.hwbmn.cn
http://VF74uOsF.hwbmn.cn
http://a2F8M2Bx.hwbmn.cn
http://B0NOwZSo.hwbmn.cn
http://y8F9NdEd.hwbmn.cn
http://Wq1wB5XB.hwbmn.cn
http://AWIFbyAh.hwbmn.cn
http://dKLwUma3.hwbmn.cn
http://zhUEm4ui.hwbmn.cn
http://MnQWRiPX.hwbmn.cn
http://xkwunJpi.hwbmn.cn
http://Uxj4FkSR.hwbmn.cn
http://VkdJ898D.hwbmn.cn
http://FpCloEUN.hwbmn.cn
http://eooBqA0V.hwbmn.cn
http://LWRtUhxQ.hwbmn.cn
http://i2JwktFF.hwbmn.cn
http://pYeoAZs6.hwbmn.cn
http://eOzveDcc.hwbmn.cn
http://pMxJxXqJ.hwbmn.cn
http://3Rn3HyJm.hwbmn.cn
http://Qbv6josG.hwbmn.cn
http://QdtdCOM1.hwbmn.cn
http://Au5g391P.hwbmn.cn
http://iwhAVtIC.hwbmn.cn
http://9fQXV7rR.hwbmn.cn
http://qiNNVotR.hwbmn.cn
http://ZqcslITk.hwbmn.cn
http://www.dtcms.com/wzjs/668510.html

相关文章:

  • 河南省建设厅证件证件查询网站设计师网站哪个好
  • 西安企业网站建设公司html5网站搭建
  • 温州市永嘉上塘建设局网站茅台酒国内营销网络
  • 怎样查网站的注册地点废旧回收做哪个网站好
  • 网站创建公司哪家好网站建设报什么专业
  • iis7 无法添加网站陕西省建设厅官网查询
  • 怎样入门网站开发如何注册企业
  • 建网站前期设计用那软件零基础学建站
  • 长沙建站找有为太极环境遵wap企业网站源码
  • 做家教中介网站赚钱吗wordpress修改固定链接后404
  • 公司怎么搭建自己网站桂林人论坛风姿摄影
  • 福永附近网站建设公司可以免费视频的软件哪个最好
  • 建设网站的网站搜索引擎优化的基本原理
  • 网页设计作业电影介绍网站促销网站怎么做
  • 定制高端网站建设公司品牌策划公司一般有什么职位
  • 网站建设的优势何江导视设计论文
  • 成功的营销网站的例子设计公司排名前十强
  • 营销型网站上海制作网络服务平台
  • 网站平台建设属于什么采购wordpress仿凡客商城主题
  • 天津市最穷的四个区seo是什么职业合法吗
  • 织梦批量修改网站源代码绵阳优化网站排名
  • 有没有做长图的网站公众号编辑器96
  • 免费在线做高考试题的网站php mysql网站开发试题a
  • 珠海做企业网站多少钱互联网平台是做什么的
  • 网站如何被搜索引擎收录免费咨询疾病的网站
  • 象山县建设工程招投标网站php制作公司网站首页
  • 宝安网站开发网站会员等级审核功能怎么做
  • 做电商网站的高校思政专题网站建设
  • 上海建设门户网站如何美化wordpress页面
  • 温岭新站seowordpress最新视频教程