Leetcode之Find Peak Element
来源:互联网 发布:织梦cms 首页轮播 编辑:程序博客网 时间:2024/04/30 03:39
找出峰值,最直观的的办法是直接遍历数组直到找到峰值,时间复杂度为O(n),代码:
二分查找,时间复杂度O(nlogn):
if(n == 1) return 0; if(nums[0] > nums[1]) return 0; if(nums[n-1] > nums[n-2]) return n-1; for(int i = 1; i < n-1; i ++) if(nums[i] > nums[i-1] && nums[i] > nums[i+1]) return i;
二分查找,时间复杂度O(nlogn):
class Solution(object): return self.findPeakEleByBinarySearch(nums, 0, len(nums) - 1) def findPeakEleByBinarySearch(self, nums, start, end): if start == end: return start mid = int((end - start) /2) + start if nums[mid] > nums[mid + 1]: return self.findPeakEleByBinarySearch(nums, start, mid) else: return self.findPeakEleByBinarySearch(nums, mid + 1, end)
0 0
- Leetcode 之Find Peak Element
- LeetCode之Find Peak Element
- Leetcode之Find Peak Element
- [LeetCode] Find Peak Element
- Leetcode:Find Peak Element
- LeetCode Find Peak Element
- leetcode: Find Peak Element
- leetcode:Find Peak Element
- LeetCode Find Peak Element
- Find Peak Element --leetcode
- Leetcode Find Peak Element
- [LeetCode] Find Peak Element
- Leetcode Find Peak Element
- Leetcode: Find Peak Element
- 【leetcode】Find Peak Element
- leetcode:Find Peak Element
- 【Leetcode】Find Peak Element
- LeetCode:Find Peak Element
- x264代码剖析(十七):核心算法之熵编码(Entropy Encoding)
- Xcode6 StoryBoard页面跳转和传值
- 很普通的一天
- iOS AppDelegate中各方法作用(一目了然版)
- JavaScript 元素的插入顺序以及动态加载js
- Leetcode之Find Peak Element
- curl 如何处理cookie
- Jquery <不想工作系列>--整理一下append、prependTo、after的区别
- android 字体修改
- 使用Android-sdk自带的工具查看布局
- tomcat study 第十一章
- Java 面试题
- 堆和栈
- Neutron的基本原理与代码实现