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

深圳哪家网站建设的公司好义乌网站建设成都网站设计

深圳哪家网站建设的公司好,义乌网站建设成都网站设计,100个万能网站,设计了网站已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums [0,1,4,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,4]若旋转 7 次&#xff0…

已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到:

  • 若旋转 4 次,则可以得到 [4,5,6,7,0,1,4]
  • 若旋转 7 次,则可以得到 [0,1,4,4,5,6,7]

注意,数组 [a[0], a[1], a[2], ..., a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], ..., a[n-2]] 。

给你一个可能存在 重复 元素值的数组 nums ,它原来是一个升序排列的数组,并按上述情形进行了多次旋转。请你找出并返回数组中的 最小元素 。

你必须尽可能减少整个过程的操作步骤。

思路一:二分

c语言解法

int findMin(int* nums, int numsSize) {int low = 0;int high = numsSize - 1;while (low < high) {int pivot = low + (high - low) / 2;if (nums[pivot] < nums[high]) {high = pivot;} else if (nums[pivot] > nums[high]) {low = pivot + 1;} else {high -= 1;}}return nums[low];
}

分析:

本题与上题相似,但此题可能出现重复元素,导致原来的二分法可能不奏效,但只需再在原基础上考虑到重复元素即可解决,当中间的数小于右指针所指向的数时只需考虑左边数即可,当大于考虑右边数,若等于则出现重复元素,最小值应该在两个指针之间,可以将右指针减一后继续判断,最后输出nums[low]解决

总结:

本题考察二分查找的应用,利用左右指针判断取左区间还是右区间最后找到最小元素

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

相关文章:

  • 网站建设需求原型如何做小程序平台
  • 程序员给女盆友做的网站院校建设网站群的原因
  • 济南专业网站优化北京企业官网网站建设哪家好
  • 网站搭建好了不用会不会被攻击获奖设计网站
  • 学做各种糕点的网站台式机网站建设
  • 坪地网站建设包括哪些网站开发毕业设计论文
  • 免费公司建站网页版微信二维码扫描
  • 那个网站做的调查准确wordpress火吗
  • 怎么优化推广自己的网站衣服网站建设规划书
  • html5网站开发教学最便宜做公司网站
  • 怎么用ps做网站首页图片书签制作古风
  • 赤峰做网站哪家好代发百度帖子包收录排名
  • 全国网站建设排名用什么手机软件做网站
  • 曲靖模板网站建设做我的世界头像的网站
  • 中国建筑八个局排名网站物理结构优化包含网页优化吗
  • 深圳制作企业网站的公司查楼盘剩余房源的网站
  • 网站的月度流量统计报告怎么做wordpress在哪里设置编辑器
  • 最牛的网站建一个产品有两个品牌怎么做网站
  • 湛江模板建站系统网站架设标准
  • 博罗企业网站建设电商怎么开始做
  • 免费网站建设知识时间计算器久久网
  • 陕西专业网站建设价格wordpress header广告
  • 网站信息备案管理系统一个服务器下怎么做两个网站吗
  • 有支付功能网站用的编程语言雄安移动网站建设
  • 论mvc框架在网站开发的应用wordpress怎么看展现量
  • php网站后台忘记密码郑州建网站公司
  • 优化型网站建设江苏网站建设方案
  • 在静安正规的设计公司网站网站建设 计划书
  • wordpress博客网站活动策划网
  • 做电商网站货源深圳品牌手表