本文共 1402 字,大约阅读时间需要 4 分钟。
class Solution { public int[] dailyTemperatures(int[] T) { Listlist = new ArrayList<>(); for(int i = 0; i < T.length; i++) { boolean flag = false; for(int j = i + 1; j < T.length; j++) { if(T[j] > T[i]) { flag = true; list.add(j - i); break; } } if(!flag) { list.add(0); } } return list.stream().mapToInt(Integer::intValue).toArray(); }}
class Solution { public int[] dailyTemperatures(int[] T) { Stackstack = new Stack<>(); int[] res = new int[T.length]; for(int i = 0; i < T.length; i++) { int tem = T[i];//获取当前的温度 //破坏了递减栈的结构,就不停的出栈 while(!stack.isEmpty() && T[stack.peek()] < tem) { int popIndex = stack.pop(); //出栈的元素右边元素(待入栈元素)比出栈的元素大 res[popIndex] = i - popIndex; } //满足单调栈结构 入栈 stack.push(i); } while(!stack.isEmpty()) { int popIndex = stack.pop(); res[popIndex] = 0; } return res; }}
转载地址:http://dlhzi.baihongyu.com/