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

777fj做最好的网站西安优化官网厂家

777fj做最好的网站,西安优化官网厂家,做网站经营流量,linux wordpress文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 解决方案二2.1 思路阐述2.2 源码 总结 前言 查找算法的适用条件以及找到题目最核心的诉求是解决问题的关键。 题目 描述 有一个长度为 n 的非降序数组#xff0c;比如[1,2,3,4,5]#xff0c;将它进行旋转#xff0c;即把… 文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 解决方案二2.1 思路阐述2.2 源码 总结 前言 查找算法的适用条件以及找到题目最核心的诉求是解决问题的关键。 题目 描述 有一个长度为 n 的非降序数组比如[1,2,3,4,5]将它进行旋转即把一个数组最开始的若干个元素搬到数组的末尾变成一个旋转数组比如变成了[3,4,5,1,2]或者[4,5,1,2,3]这样的。请问给定这样一个旋转数组求数组中的最小值。 数据范围 1 ≤ n ≤ 10000 1≤n≤10000 1≤n≤10000数组中任意元素的值: 0 ≤ v a l ≤ 10000 0≤val≤10000 0≤val≤10000 要求空间复杂度 O ( 1 ) O(1) O(1)时间复杂度 O ( l o g n ) O(logn) O(logn) 示例1 输入 [ 3 , 4 , 5 , 1 , 2 ] [3,4,5,1,2] [3,4,5,1,2] 返回值 1 1 1 示例2 输入 [ 3 , 100 , 200 , 3 ] [3,100,200,3] [3,100,200,3] 返回值 3 3 3 解决方案一 1.1 思路阐述 题目说的旋转什么的都不看精简一下就是一个数组里面找最小值。 不考虑时间复杂度和空间复杂度的话一个for循环遍历搞定。 1.2 源码 class Solution { public:/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可** * param nums int整型vector * return int整型*/int minNumberInRotateArray(vectorint nums) {int minnums[0];for (int i0; inums.size()-1; i) {if(nums[i]min){minnums[i];}}return min;} };解决方案二 2.1 思路阐述 看题目给的时间复杂度和空间复杂度大概率就是一种分治的思想那就是二分查找。 题目的数列有一个特性AB两个子序列组成一个序列C现在变成了BA由于C序列是非递减序列所以其实B序列中任意一个数都大于A。 用二分法来做的步骤如下 step 1双指针指向旋转后数组的首尾作为区间端点。 step 2若是区间中点值大于区间右界值则最小的数字一定在中点右边。(这里和序列特性有关系 step 3若是区间中点值等于区间右界值则是不容易分辨最小数字在哪半个区间比如[1,1,1,0,1]应该逐个缩减右界。 step 4若是区间中点值小于区间右界值则最小的数字一定在中点左边。 step 5通过调整区间最后即可锁定最小值所在。 2.2 源码 class Solution { public:int minNumberInRotateArray(vectorint nums) {int i0,mid,jnums.size()-1;while (ij) {midi(j-i)/2;if(nums[mid]nums[j]){imid1;}else if(nums[mid]nums[j]){j--;}else{jmid;}}return nums[i];} };总结 遇到有序数列的一种查找如果对时间复杂度有要求要考虑二分查找。
http://www.zqtcl.cn/news/610761/

相关文章:

  • 百度网站流量查询宣传片制作公司费用
  • 安徽炒股配资网站开发搭建平台载体
  • 中华建设杂志网站记者黑龙江省建设集团有限公司网站首页
  • 成都络迈品牌网站建设网站建设的行业资讯、
  • 英语网站大全免费赤峰市建设厅官方网站
  • 宁波网站建设熊掌号成都网络关键词排名
  • 织梦网站改版需要怎么做平台设计软件
  • 企业展示型网站网站建设设计
  • 增城网站建设服务网站建设制作设计公司佛山
  • 微网站套餐自媒体网站源码模板dede
  • 企业网站改版升级成都便宜网站建设公司
  • 广州公共资源建设工程交易中心网站新塘做网站
  • 数码港 太原网站开发公司iis 建立子网站
  • 做一个自己的网站需要什么商标设计网站猪八戒
  • 傻瓜式网站建设软件保险预约
  • 网站 备案规定自己做简单网站
  • 网站上怎么做支付接口南乐网站建设
  • 咸阳网站建设公司电话做个公司网站大概多少钱
  • 网站如何做关键词排名点子网创意网
  • 浙江建设培训考试网站河源东莞网站建设
  • 网站移动端做pc端的301跳转哪些网站是增值网
  • wordpress新闻站浙江耀华建设集团网站
  • 网站开发代理企业网站推广技巧和方法
  • 俄语网站开发用模板做的网站多少钱
  • 丽水网站建设公司广州网络公司
  • 做基金的网站哪个好针对大学生推广引流
  • 国外对旅游网站的建设互联网推广和互联网营销
  • 海南省建设厅网站首页有什么做设计的兼职网站
  • 网站导航功能苏州市高新区建设局网站
  • jsp网站 值班多语种网站开发