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

免费网站的手机版本源码模板酷家乐手机版

免费网站的手机版本源码模板,酷家乐手机版,网站建设公众号开,网站建设注意细节旋转数组找最小值 其中数组中的值唯一 你可以顺序遍历&#xff0c;当然一般会让你用二分来搞 方法1 数组可以分成两部分&#xff0c;左边是 ≥ n u m s [ 0 ] \ge nums[0] ≥nums[0], 右边是 < n u m s [ 0 ] <nums[0] <nums[0] 换句话说就是找第一个 < n u m s…

旋转数组找最小值
其中数组中的值唯一

你可以顺序遍历,当然一般会让你用二分来搞

方法1

数组可以分成两部分,左边是 ≥ n u m s [ 0 ] \ge nums[0] nums[0], 右边是 < n u m s [ 0 ] <nums[0] <nums[0]
换句话说就是找第一个 < n u m s [ 0 ] <nums[0] <nums[0]的元素

如果 > = n u m s [ 0 ] >=nums[0] >=nums[0]则往右边,否则左边

不过也需要排除有序的情况

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

方法2

依然二分

如果 n u m s [ m i d ] > n u m s [ r ] nums[mid]>nums[r] nums[mid]>nums[r],那最小值肯定在右半边
如果 n u m s [ m i d ] ≤ n u m s [ r ] nums[mid]\le nums[r] nums[mid]nums[r], 那 n u m s [ m i d ] nums[mid] nums[mid]也可能称为最小,所以 r = m i d r = mid r=mid而不是 r = m i d − 1 r=mid-1 r=mid1

与普通二分的区别就是退出条件要 l < r l<r l<r而不是 l ≤ r l\le r lr,不然你别想出去了

class Solution {
public:int findMin(vector<int>& nums) {int n = nums.size();int l = 0, r = n - 1;while(l < r){int mid = l + (r - l) / 2;if(nums[mid] > nums[r])l = mid + 1;else r = mid;}return nums[r];}
};
http://www.yayakq.cn/news/555134/

相关文章:

  • 农业建设公司网站网络营销方案成功案例
  • 卫龙的网站是谁做的免费发群二维码的网站
  • 甘肃建设住房厅网站福建建设注册中心网站
  • 诸城网站优化怎么在网站视频做字幕
  • 建设网站步骤唯美谷智能网站建设系统
  • 郑州手机网站推广外包创新的企业网站建设
  • 网站建设公司(深圳信科)网络平面设计包括哪些
  • 做网站游戏都需要什么wordpress代刷网主题
  • 百度云平台建设网站网站主目录
  • 智龙迷城 wordpress佛山网站优化如何
  • 如何找到网站管理员域名服务费多少钱一年
  • 设计做的网站哪些好做网站最好用的软件
  • 卓业网站建设组织建设六个方面内容
  • python做笔记的网站制作精美网站建设服务周到
  • 怎么做网站关键词视频网站建设与维护 教学大纲
  • r语言网站开发如何请人做网站
  • 网站建设 保定做软件外包的网站
  • 关于平面设计的网站php网站建设设计制作方案
  • 网站做乘法表织梦书法网站模板
  • 广州有网站建设学校网站建设宗旨是指
  • 网站设计工作流程扬中论坛
  • 站酷设计网站官网网址东莞网络做推广公司
  • 网站和平台有什么区别做问卷调查有哪些网站
  • 网站用什么构建中卫网站定制开发设计
  • 网站分页设计深圳机械网站建设
  • 南海网站建设价格保险平台有哪些
  • 网站 文件验证jsp是前端还是后端开发的
  • 网站导航栏垂直域名不同网站程序相同
  • 自己做家具网站东莞公司网站做优化
  • 网站管理系统模板甘肃省最新出行通告