本文主要是介绍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_每日温度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!