739--Daily Temperatures

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;
    }
}

 

posted @ 2019-09-27 11:24  张玉昊  阅读(209)  评论(0编辑  收藏  举报