public class DailyTemperatures { /* 解法一:暴力 */ public int[] dailyTemperatures(int[] T) { int[] result=new int[T.length]; for (int i=0;i<T.length;i++){ for (int j=i+1;j<T.length;j++){ if (T[j]>T[i]){ result[i]=j-i; break; } } } return result; } /* 解法二:从后往前遍历,减少内层遍历次数。 */ public int[] dailyTemperatures2(int[] T) { int length=T.length; int[] result=new int[length]; for (int i=length-2;i>=0;i--){ for (int j=i+1;j<length-1;j+=result[j]){ if (T[i]<T[j]){ result[i]=j-i; break; }else if (T[i]>T[j]){ result[i]=0; } } } return result; } }