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

建设银行网站用户名更改wordpress类似的博客

建设银行网站用户名更改,wordpress类似的博客,wordpress如何升级,物流公司前十名排行榜目录二分找最左边二分找最右边综合应用(剑指offer)二分找最左边 核心思想: 先mid (lr)/2每次向左取整; 然后命中target的时候,右边界逼近到mid; 因为每次mid向左取整,mid命中target时l代替mid位置,则循环迭代最后会卡出重复数字最左侧的位置…

目录

    • 二分找最左边
    • 二分找最右边
    • 综合应用(剑指offer)

二分找最左边

核心思想: 先mid =(l+r)/2每次向左取整; 然后命中target的时候,右边界逼近到mid;

因为每次mid向左取整mid命中target时l代替mid位置,则循环迭代最后会卡出重复数字最左侧的位置!

可以用int arr[5] = 3 3 3 3 3 ; int target = 3; 这种极端的用例,来方便理解一下上述二分算法!

 //二分找k的最左侧位置while(l<r){mid =  (l+r)>>1; //mid向左取整if(arr[mid]>=target ) r = mid;//mid命中时右边界r代替mid位置(二分区间整体向左收缩了)else l = mid+1;}

寻找过程图示如下:

37_1


二分找最右边

核心思想: 先mid =(l+r+1)/2 每次向右取整; 然后命中target的时候,左边界逼近到mid;

因为每次mid向右取整mid命中target时l代替mid位置,则循环迭代最后会卡出重复数字最右侧的位置! 同上,不过多解释;

 //二分找target的最右侧位置while(l<r){mid =  (l+r+1)>>1; //mid向右取整if(arr[mid]<=target ) l = mid;//mid命中时左边界l代替mid位置(二分区间整体向右收缩了)else r = mid-1;}

不理解多理解即便,这个东西我也是理解了五六次,其实包含了一些边界的数学原理,可以从宏观的角度理解记忆,毕竟二分这个算法的变形,边界问题很多!


综合应用(剑指offer)

数字在升序数组中出现的次数

在这里插入图片描述

这道题要求O(logN)的时间复杂度,那肯定二分了!而且有序数组…这不是天然的二分有序条件吗;

题目解析

  • 据观察,重复的数字在有序数组中出现的位置一定是互相挨着的:

  • 那么我们只需要找到目标值k的最左侧下il标,和其最右侧下标ir,return ir-il+1; 即可!(当然,需要考虑一下k在数组中不存在的情况,这都是小问题啦)

怎么找最左侧和最右侧的k的下标,那就是上面设计的两种二分策略,需要掌握,常用!

实现代码

class Solution {
public:int GetNumberOfK(vector<int> data ,int k) {//二分找重复的最左 和 最右if(data.size()==0) return 0;int r = data.size() - 1;int l = 0;int mid;int il;int ir;//二分找k的最左侧位置while(l<r){mid =  (l+r)>>1; //向左取整if(data[mid]>=k) r = mid;//命中时右边界也向左逼近else l = mid+1;}if(data[l]!=k) return 0;//特殊情况,k不存在,返回0;il = l;//二分找k的最右侧位置l = 0;r = data.size() - 1;while(l<r){mid =  (l+r+1)>>1;//向右取整if(data[mid]<=k) l = mid;//命中时左边界也向右逼近else r = mid-1;}ir = l;return ir-il+1;}
};
http://www.yayakq.cn/news/85300/

相关文章:

  • 成都专业网站制作哪家好大连建设网水电费查询官网
  • 酒店网站建设注意什么网站关键词太多好不好
  • 佛山网站建设公司-印象互动网站不备案不能用吗
  • 公司网站二维码怎么做的手机网价格直降
  • 招聘网站开发的公司响应式网站怎么改
  • 做类似淘宝的网站网络运维需要懂什么技术
  • 门户网站重要性祝明电子商务网站建设实验报告
  • 做企业网站 长春平面设计的学校
  • 绍兴网站建设方案推广杭州做公司官网的公司
  • 青岛胶南做网站的有多少搭建服务器需要多少钱
  • 想建一个自己的网站浙江省建设厅老网站
  • 站酷官网入口网站代理备案价格
  • 设计网站推荐素材网站安卓应用开发环境
  • 微商网站制作王野天个人简历
  • 云南建设人才网站首页六安网站建设公司
  • 中英文网站案例手机上怎么赚钱啊 正规
  • 枣阳网站建设吧logo在线制作神器
  • 专做废旧电子电路板配件回收的网站湘潭网站建设电话
  • 传统企业公司网站优化案例深圳手机端网站建设专业公司
  • 德州聊城网站建设企业网络推广方案的制定
  • 南京微网站开发做胃镜多少钱那好天津津门网站a
  • 常州外贸网站淄博网站建设
  • 帝国网站做图片轮播南京企业网站做优化
  • 做网站听的纯音乐网站开发结论
  • 南昌网站建设博客做喜报的网站
  • 游戏网站做代理seo关键词优化举例
  • 青海网站建设哪家好dkp网站开发
  • 正常开发一个网站需要多少钱山西建设工程执业注册中心网站
  • 购物网站图片的放大怎么做的自己创建网站怎么赚钱
  • 网站展示 包括什么网站怎么做留言提交功能