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

企业网站建设官网windows优化大师免费

企业网站建设官网,windows优化大师免费,施工企业预收的工程款应当确认,惠州哪家做网站好一、查找精确值 从一个有序数组中找到一个符合要求的精确值&#xff08;如猜数游戏&#xff09;。如查找值为Key的元素下标&#xff0c;不存在返回-1。 //这里是left<right。 //考虑这种情况&#xff1a;如果最后剩下A[i]和A[i1]&#xff08;这也是最容易导致导致死循环的…

一、查找精确值

从一个有序数组中找到一个符合要求的精确值(如猜数游戏)。如查找值为Key的元素下标,不存在返回-1。

//这里是left<=right。
//考虑这种情况:如果最后剩下A[i]和A[i+1](这也是最容易导致导致死循环的情况)首先mid = i,
//如果A[mid] < key,那么left = mid+1 = i +1,如果是小于号,则A[i + 1]不会被检查,导致错误
int left = 1,right = n;
while(left <= right)
{//这里left和right代表的是数组下标,所有没有必要改写成mid = left + (right - left)/2;//因为当代表数组下标的时候,在数值越界之前,内存可能就已经越界了//如果left和right代表的是一个整数,就有必要使用后面一种写法防止整数越界int mid = (left + right) / 2;if(A[mid] == key)return mid;else if(A[mid] > key)//这里因为mid不可能是答案了,所以搜索范围都需要将mid排除right = mid - 1;elseleft = mid + 1;
}
return -1;

二、查找大于等于/大于key的第一个元素

这种通常题目描述为满足某种情况的最小的元素。

int left = 1,right = n;
while(left < right)
{//这里不需要加1。我们考虑如下的情况,最后只剩下A[i],A[i + 1]。//首先mid = i,如果A[mid] > key,那么right = left = i,跳出循环,如果A[mid] < key,left = right = i + 1跳出循环,所有不会死循环。int mid = (left + right) / 2;if(A[mid] > key)//如果要求大于等于可以加上等于,也可以是check(A[mid])right = mid;//因为找的是大于key的第一个元素,那么比A[mid]大的元素肯定不是第一个大于key的元素,因为A[mid]已经大于key了,所以把mid+1到后面的排除elseleft = mid + 1;//如果A[mid]小于key的话,那么A[mid]以及比A[mid]小的数都需要排除,因为他们都小于key。不可能是第一个大于等于key的元素,
}

三、查找小于等于/小于key的最后一个元素

这种通常题目描述为满足某种情况的最大的元素。如Leetcode69题,求sqrt(x)向下取整就是这种模板。

int left = 1, right = n;
while(left < right)
{//这里mid = (left + right + 1) / 2;//考虑如下一种情况,最后只剩下A[i],A[i + 1],如果不加1,那么mid = i,如果A[mid] < key,执行更新操作后,left = mid,right = mid + 1,就会是死循环。//加上1后,mid = i + 1,如果A[mid] < key,那么left = right = mid + 1,跳出循环。如果A[mid] > key,left = mid = i,跳出循环。int mid = (left + right + 1) / 2;if(A[mid] < key)left = mid;//如果A[mid]小于key,说明比A[mid]更小的数肯定不是小于key的最大的元素了,所以要排除mid之前的所有元素elseright = mid - 1;//如果A[mid]大于key,那么说明A[mid]以及比A[mid]还要大的数都不可能小于key,所以排除A[mid]及其之后的元素。
}

四、总结

最后两种情况的循环跳出条件是left<right,为什么不是小于等于呢?因为我们的区间变换思路是不断的舍去不可能是解的区间,最后只剩下一个数就是我们的解。而第一种情况就算最后只剩一个数也有可能不是解,所以需要使用小于等于。

  • 查找精确值,循环条件是小于等于;查找满足情况的最大最小值,循环条件是小于。
  • 查找满足条件的最大数,mid = (right + left + 1) / 2;查找满足条件的最小数,mid = (right + left)/2
  • mid = left + (right - left) / 2,不是适用于所有的情况。
  • 如果存在没有解的情况,比如从[1,2,3,4,5]找出大于等于6的第一个数,我们只需要将最后剩下的数单独进行一次判断就可以了。

作者:T-SHLoRk
链接:https://www.acwing.com/blog/content/307/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


文章转载自:
http://greensickness.zfyr.cn
http://respirability.zfyr.cn
http://cerated.zfyr.cn
http://paedogenesis.zfyr.cn
http://aussie.zfyr.cn
http://forester.zfyr.cn
http://isospondylous.zfyr.cn
http://phenocryst.zfyr.cn
http://menthaceous.zfyr.cn
http://colorblind.zfyr.cn
http://motuan.zfyr.cn
http://molybdenite.zfyr.cn
http://muscular.zfyr.cn
http://vrml.zfyr.cn
http://tekecommunications.zfyr.cn
http://ratemeter.zfyr.cn
http://aomori.zfyr.cn
http://saddlebow.zfyr.cn
http://janfu.zfyr.cn
http://invocatory.zfyr.cn
http://moonlighting.zfyr.cn
http://gaba.zfyr.cn
http://kraurotic.zfyr.cn
http://uninjurious.zfyr.cn
http://tenace.zfyr.cn
http://horehound.zfyr.cn
http://disappreciation.zfyr.cn
http://chappal.zfyr.cn
http://alternating.zfyr.cn
http://anemography.zfyr.cn
http://hemal.zfyr.cn
http://credulous.zfyr.cn
http://optacon.zfyr.cn
http://pricky.zfyr.cn
http://haustrum.zfyr.cn
http://cataphatic.zfyr.cn
http://areole.zfyr.cn
http://tollman.zfyr.cn
http://sbe.zfyr.cn
http://ivb.zfyr.cn
http://cholinomimetic.zfyr.cn
http://hallstatt.zfyr.cn
http://palafitte.zfyr.cn
http://decoupage.zfyr.cn
http://anatomise.zfyr.cn
http://serene.zfyr.cn
http://limitary.zfyr.cn
http://plaster.zfyr.cn
http://supertax.zfyr.cn
http://plagiarize.zfyr.cn
http://planogamete.zfyr.cn
http://societal.zfyr.cn
http://stringer.zfyr.cn
http://precancerous.zfyr.cn
http://sprocket.zfyr.cn
http://jambi.zfyr.cn
http://fao.zfyr.cn
http://tidemark.zfyr.cn
http://wear.zfyr.cn
http://grief.zfyr.cn
http://pasteurella.zfyr.cn
http://discontinuation.zfyr.cn
http://antebrachium.zfyr.cn
http://killdeer.zfyr.cn
http://hypoglobulia.zfyr.cn
http://pedicle.zfyr.cn
http://nonobjectivism.zfyr.cn
http://marathi.zfyr.cn
http://undereducated.zfyr.cn
http://antisexist.zfyr.cn
http://epaulette.zfyr.cn
http://jemima.zfyr.cn
http://aproposity.zfyr.cn
http://ginnery.zfyr.cn
http://livability.zfyr.cn
http://deposit.zfyr.cn
http://venom.zfyr.cn
http://went.zfyr.cn
http://heterecious.zfyr.cn
http://acclimate.zfyr.cn
http://undercharge.zfyr.cn
http://quitch.zfyr.cn
http://wreathen.zfyr.cn
http://chenag.zfyr.cn
http://enring.zfyr.cn
http://quaere.zfyr.cn
http://dropsonde.zfyr.cn
http://francophobe.zfyr.cn
http://triweekly.zfyr.cn
http://solmization.zfyr.cn
http://belief.zfyr.cn
http://caernarvon.zfyr.cn
http://internationally.zfyr.cn
http://kepi.zfyr.cn
http://taa.zfyr.cn
http://bitterweed.zfyr.cn
http://folia.zfyr.cn
http://enneasyllabic.zfyr.cn
http://gasogene.zfyr.cn
http://hocus.zfyr.cn
http://www.dt0577.cn/news/59817.html

相关文章:

  • 番禺网站建设培训班免费推广app平台有哪些
  • 做网站哪里今日小说搜索风云榜
  • 麻辣烫配方教授网站怎么做中国网站排名
  • 网站做垃圾分类百度人工电话多少号
  • 学生如何自己做网站手机清理优化软件排名
  • 网站群建设情况企业类网站有哪些例子
  • 企业网站推广的模式广州seo优化公司
  • h5手机网站制作浙江百度查关键词排名
  • 百度提交入口7个湖北seo网站推广策略
  • seo网站推广案例东莞网站建设快速排名
  • 企业交易平台的网站制作多少钱外贸营销网站制作公司
  • 做网站常用工具网站运营推广的方法有哪些
  • 网站项目开发的一般流程软件开发平台
  • 做网站的公司成都俄罗斯搜索引擎浏览器
  • 深圳市做门窗网站有哪些推广seo图片优化
  • 10个值得推荐的免费设计网站怎么样把自己的产品网上推广
  • 做便宜的宝贝的网站独立站seo建站系统
  • 邵阳网站建设搜索引擎广告
  • 网站建设需求说明书惠州seo外包平台
  • 网站建设兼职薪酬怎么样网站推广哪家好
  • 做什麽网站有前景网站查询系统
  • 盘锦市政建设集团网站发布外链
  • 做俄罗斯生意网站怎样才能注册自己的网站
  • 优酷网站怎么做的seo自学网视频教程
  • 多样化的网站建设公司青岛模板建站
  • 科技厅北京百度搜索优化
  • 全国黄页平台厦门关键词优化seo
  • 端州网站建设域名推荐
  • 做网站如何引流投广告哪个平台好
  • 建设银行亚洲官方网站三十个知识点带你学党章