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

网站秒收录工具网站内容编写方法

网站秒收录工具,网站内容编写方法,青浦手机网站建设,表白网页在线生成网站源码解法都在代码里,不懂就留言或者私信 想清楚的话会特别简单,你可能想不到这是个二分。。。 class Solution {/**本题题目规定我们只能用O(logN)的时间复杂度来解题,这显然就是让二分嘛而题目给的数组本身是无需,怎么二分呢其实我…

 解法都在代码里,不懂就留言或者私信

想清楚的话会特别简单,你可能想不到这是个二分。。。

class Solution {/**本题题目规定我们只能用O(logN)的时间复杂度来解题,这显然就是让二分嘛而题目给的数组本身是无需,怎么二分呢其实我们不是要寻找具体的某个数字,而是去寻找某个峰值,就像爬山一样,只要我们现在是往上走,那一直往前方走就有峰值具体到我们的题目,我们随机选取一个位置,如果这个位置比左右都大,那它就是峰值,返回即可如果左边比它大,那它往左边就是爬坡,那左边必定右峰值如果右边比它大,那它往右边就是爬坡,右边必定有峰值如果左右都比它大,就左右都有峰值,当然最后这种情况我们忽略就行,因为我们只需要找到一个峰值*/public int findPeakElement(int[] nums) {if(nums.length == 1) {return 0;}/**第一个只需要大于第二个就是峰值 */if(nums[0] > nums[1]) {return 0;}/**最后一个只需要大于倒数第二个就是峰值 */if(nums[nums.length-1] > nums[nums.length - 2]) {return nums.length - 1;}/**如果第一个和最后一个都不是峰值,我们从1~nums.length-2里找*/int left = 1;int right = nums.length - 2;while(left <= right) {/**随机取left~right中的某个位置 */int randomIndex = left + (int)((right - left) * Math.random());/**如果比左右都大,那不就是我们的答案吗,这么写不会越界吗?不会,因为我们是在第二个~倒数第二个之间尝试的*/if(nums[randomIndex] > nums[randomIndex-1] && nums[randomIndex] > nums[randomIndex + 1]) {return randomIndex;/**右边大,右边肯定有峰值 */} else if(nums[randomIndex+1] > nums[randomIndex]) {left = randomIndex + 1;} else {/**左边大,左边肯定有峰值 */right = randomIndex - 1;}}return -1;}
}

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

相关文章:

  • 深圳专业医疗网站建设商业广告公司排名
  • 广西建设厅招投标中心网站移动互联网技术网站
  • 保健食品东莞网站建设个人可以做电影网站吗
  • asp网站咋做网站建设扬州
  • 网站建设指导方案wordpress 用js
  • 东莞网站建设方案报价天津seo培训哪家好
  • 做网站需要的条件wordpress可不可以
  • 网站打开空白 重启iis就好了广州网络网站建设
  • 公司网站做的太难看常德市做网站的公司
  • 做哪些网站比较赚钱哈尔滨seo
  • 上海做网站的哪家好昆山专业网站建设
  • 网站开发先学什么wordpress模板修改图片
  • 网站开发流程管理温州网站改版公司
  • 制作查询网站推广目标包括什么
  • app和网站开发的成本邯郸优企网络
  • 网站建设教程 企业邮箱做网站都需要准备什么
  • 企业商城网站建设公司网站建设支出计入
  • 需要优化的网站有哪些?网站备案证书如何打开
  • 怎么创建个人网站建筑模板厂
  • 金华专业网站制作昆明网
  • 南宁专业网站制作设计铜川网络推广
  • 网盘网站建设上海百度公司总部
  • 东阳网站制作加强网站建设说明报告范文
  • 公司网站建设阿里云建设网站专栏
  • 网站开发与设计多少钱一个网站wordpress免费的好么
  • 网站设计部wordpress分类加密
  • 做html5网站百度推广好做吗
  • 铜陵app网站做营销招聘信息房地产市场现状分析2022
  • 深圳专业网站开发公司民族建设集团有限公司官方网站
  • 开源网站下载企业软文