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; } }
本文介绍了一种用于预测未来几天气温变化的算法实现。通过两种方法,一种是暴力搜索法,另一种是从后往前遍历以减少内层遍历次数,来解决给定数组中每个元素后面是否有比它大的元素的问题。这两种方法都是为了找到对于每一天,之后哪一天的温度会升高。
268

被折叠的 条评论
为什么被折叠?



