码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode.852.PeakIndexinaMountainArray

时间:2019-09-05 01:04:29      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:ble   profile   solution   bsp   直接   png   int   tps   stc   

 

links: 

https://leetcode.com/problems/peak-index-in-a-mountain-array/


  我的思路,直接遍历查找,找到第一个变小的数的位置,之前的那个位置就目的index

class Solution(object):
    def peakIndexInMountainArray(self, A):
        """
        :type A: List[int]
        :rtype: int
        """
        index = 0
        for i in range(len(A)-1):
            if A[i] > A[i+1]:
                index = i
                break
        return index
        

  看了其他人的解决方案,如下:

class Solution2(object):
    def peakIndexInMountainArray(self, A):
        """
        :type A: List[int]
        :rtype: int
        """
        return A.index(max(A))

   做了下小小的测试,这里让长度尽量大一些(这里N=50000+50000),看下两者执行速度上的差距。

import cProfile
A = [i for i in range(50000)] + [50000-j for j in range(50000)]

s = Solution()
s2 = Solution2()

def testCase2():
	cProfile.run("s.peakIndexInMountainArray(A)")
	cProfile.run("s2.peakIndexInMountainArray(A)")

  发现方案2要快一些。 技术图片

 

leetcode.852.PeakIndexinaMountainArray

标签:ble   profile   solution   bsp   直接   png   int   tps   stc   

原文地址:https://www.cnblogs.com/Wolfanature/p/11462615.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!