leetcode739_每日温度

2022/2/10 23:12:34

本文主要是介绍leetcode739_每日温度,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

public int[] dailyTemperatures(int[] temperatures) {
    int len = temperatures.length;
    LinkedList<Integer>[] table = new LinkedList[101];
    for(int i = 30; i < 101; i++) table[i] = new LinkedList<>();
    for(int i = 0; i < len; i++) {
        int num = temperatures[i];
        table[num].add(i);
    }
    int[] ans = new int[len];
    for(int i = 0; i < len; i++) {
        int thisNum = temperatures[i];
        int dis = len;
        for(int j = thisNum+1; j < 101; j++) {
            List<Integer> list =table[j];
            while (list.size() > 0 ) {
                int firstIndex = list.get(0);
                if(firstIndex < i) list.remove(0);
                else {
                    dis = Math.min(dis, firstIndex-i);
                    break;
                }
            }
        }
        ans[i] = dis==len?0:dis;
    }
    System.out.println(Arrays.toString(ans));
    return ans;
}


这篇关于leetcode739_每日温度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程