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

vr模式的网站建设公司b站视频未能成功转码

vr模式的网站建设公司,b站视频未能成功转码,做单位网站的公司,郑州网站建设炉石背景: 在写力扣题目“搜素插入位置 ”时,发现二分法的一个细节点,打算记录下来,先看一张图: 我们知道,排序数组,更高效的是二分查找法~~~而二分法就是切割中间,定义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/42538.html

相关文章:

  • 免费做代理的项目郑州网站优化seo
  • 吉林省建筑市场监管公共服务平台石家庄seo全网营销
  • 怎么可以自己做网站被百度收到凤凰网全国疫情实时动态
  • 亚马逊网站开发者平台企业seo顾问服务阿亮
  • 手机版网站案例广州做网站的公司哪家好
  • 长沙企业网站开发微联讯点南昌企业网站建设
  • wordpress所见即所得编辑器佛山seo整站优化
  • bootstrap做购物网站广州百度seo优化排名
  • 做网站需要什么配置服务器成都百度推广联系方式
  • 网站建设与管理案例教程第三版答案网店营销策划方案ppt
  • 起诉网站服务平台搜索引擎优化培训班
  • 512m内存做网站免费发广告的网站大全
  • 比较好的做外贸网站河南自助建站seo公司
  • 做兽设的网站网站查询域名解析
  • 买网站需要多少钱网站排名点击工具
  • 商城网站制作公司seo网站推广方式
  • 给人做赌博网站犯法嘛百中搜优化软件
  • 深圳网站建设合同范本推广渠道有哪些平台
  • 保定市网站制作公司企业培训课程清单
  • 郑州男科医院哪家权威东莞百度搜索优化
  • 怎样进行网站板块建设抖音seo怎么做
  • 获取网站漏洞后下一步怎么做网站友情链接美化代码
  • 安庆网站建设为网店运营在哪里学比较好些
  • 会员卡管理系统制作重庆seo网络推广平台
  • 精美化妆品网站模板哔哩哔哩推广网站
  • php做音乐网站关键词优化seo优化排名
  • 新浪舆情通seo网站推广简历
  • 建立网站的流程是什么新手如何做网上销售
  • 寻模板网站源码百度竞价平台官网
  • 有域名有空间如何做网站可以看任何网站的浏览器