做完Find Minimum in Rotated Sorted Array I觉得很简单,再做2发现也不难,但是LeetCode竟然给了一个hard评级,难道是我编程水平大有长进?哈哈我估计是对复杂度有很高的要求的情况下比较难吧。。
Python(偷懒)做法就是一句话:return min(num)
Java(基本做法)如下:
public class Solution { public int findMin(int[] num) { int len=num.length; if (len==0) return 0; else if (len==1) return num[0]; else{ for (int i=0;i<len-1;i++){ if (num[i]>num[i+1]) return num[i+1]; } } return num[0]; } }
平均、最差时间复杂度都是O(n)。思路很简单,就是顺序依次比较,如果后者小于前者,则后者一定是最小的,输出即可。如果不是则继续比较。
牛逼做法:请出门左拐,这里没有。
时间: 2024-10-09 04:34:38