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

广西网站建设流程广州专业网站改版设计公司

广西网站建设流程,广州专业网站改版设计公司,网站的建设方法,动漫制作专业就业前景如何x 的平方根 在0~X中肯定有数的平方大于X&#xff0c;这是肯定的。我们需要从中找出一个数的平方最接近X且不大于X。0~X递增&#xff0c;它们的平方也是递增的&#xff0c;这样我们就可以用二分查找。 我们找出的数的平方是<或者恰好X&#xff0c;所以把0~X的平方分为<X …

 x 的平方根 

在0~X中肯定有数的平方大于X,这是肯定的。我们需要从中找出一个数的平方最接近X且不大于X。0~X递增,它们的平方也是递增的,这样我们就可以用二分查找。

我们找出的数的平方是<或者恰好==X,所以把0~X的平方分为<=X >X的两部分,求<=区间的最右端

class Solution {
public:int mySqrt(int x) {long long left=0,right=x;while(left<right){long long mid=left+(right-left+1)/2;if(mid*mid<=x) left=mid;else right=mid-1;}return left;}
};

long long防止超出int范围

搜索插入位置

递增数组,找到相等返回下标,反正按顺序插入(恰好比target大的值),也就是目标值>=target。把区间分为<target >=target,找右区间左端

class Solution {
public:int searchInsert(vector<int>& nums, int target) {int left=0,right=nums.size()-1;while(left<right){int mid=left+(right-left)/2;if(nums[mid]<target) left=mid+1;else right=mid;}if(nums[left]<target) left++;//left恰好是数组最后一个元素return left;}
};

山脉数组的峰顶索引

这段数组可以分成两部分,前一部分递增 后一部分递减。

这样我们就可以用二分查找,如果mid处于递增位置,那么目标值肯定在右边。反之,左边。

下面有两种做法,不同点在于把峰值看做是递增数组上还是递减数组上,在递增数组就是求右端点,在递减数组就是求左端点。

峰值属于递减数组,求左端点

class Solution {
public:int peakIndexInMountainArray(vector<int>& arr) {int left=0,right=arr.size()-1;while(left<right){int mid=left+(right-left)/2;if(arr[mid]>=arr[mid+1]) right=mid;else left=mid+1;}return left;}
};

因为mid可能正好是目标值,不能跟后面的值比较,后面是递增数组的。

峰值属于递增数组,求右端点

class Solution {
public:int peakIndexInMountainArray(vector<int>& arr) {int left=0,right=arr.size()-1;while(left<right){int mid=left+(right-left+1)/2;if(arr[mid]>=arr[mid-1]) left=mid;else right=mid-1;}return left;}
};

寻找峰值

有三中情况一直递增 / 一直递减 \ 既有递增又有递减 /\/\/\/\

但无论那种情况,如果是递增那它的右边一定有峰值,如果递减它的左边一定有峰值。

class Solution {
public:int findPeakElement(vector<int>& nums) {int left=0,right=nums.size()-1;while(left<right){int mid=left+(right-left+1)/2;if(nums[mid]>nums[mid-1]) left=mid;else right=mid-1;}return left;}
};

把峰值看作递增的部分,如果nums[mid]>nums[mid-1]说明递增,那么mid可能是峰值,所以left不能=mid+1,left=mid,让right从右边找过来。

http://www.yayakq.cn/news/596379/

相关文章:

  • 网站顶部布局佛山市网站建设平台
  • 域名打不开原来的网站邮件服务商
  • 塘沽网站制作小码短链接
  • 电子商务网站建设实训实践总结北京备案网站
  • 网站建设项目流程图网站充值接口
  • 南京网四川seo整站优化吧
  • 柳州网站建设公h5是什么网站上面做的
  • 网站做附近地图导航俄罗斯最新军事动态
  • 基于工作过程的商务网站建设 网页制作山亭建设局网站
  • 网站建设公司行业描述国外购物网站建设
  • 昆网站在哪里wordpress添加网址导航页面
  • 怎么让公司建设网站建设官方网站需要注意什么
  • 网站内部优化免费网站奖励自己游戏
  • 怎么进入网站管理页面西安百度公司怎么样
  • 长沙做网站开发价格佛山有几个区
  • 代理小企业网站建设企业咨询管理公司是干什么的
  • 徐州建设局网站网络平台推广公司
  • 进出口贸易网站制作建设银行网站短信错误6次
  • 上海正规建设网站私人订制wordpress显示icp备案号
  • 泉州建站模板系统企业做网站公司排名口碑
  • app营销策略南宁网站怎么做seo
  • 南昌网站开发建设企业咨询流程
  • cms企业网站想制作自己的网站
  • 用php做一网站有哪些东西wordpress配置文件在哪
  • 网站定制建网站定制建设设赣榆城乡建设局网站
  • 极构网站建设工作室河北区网站建设
  • 程序代码优化网站第三方网络营销平台有哪些
  • 福步外贸网站优质聊城做网站费用
  • 网站建设每天的工作网络品牌推广ppt
  • 外国出名的设计网站wordpress获取最新文章