扬中网站建设要多少钱,响应式网站案列,咨询律师,手机app制作网站模板在本题中#xff0c;我们是通过单调栈来解决的#xff0c;因为我们采用了栈的数据结构#xff0c;并且#xff0c;栈内存储的元素是单调的。 
本题我们考虑#xff0c;将气温数组元素的下标存入栈中#xff0c;首先初始化要把0放入#xff0c;0是下标的意思。然后我们拿… 在本题中我们是通过单调栈来解决的因为我们采用了栈的数据结构并且栈内存储的元素是单调的。 
本题我们考虑将气温数组元素的下标存入栈中首先初始化要把0放入0是下标的意思。然后我们拿下标为1的元素也就是74和下标为0的元素比较7473所以我们计算完二者的距离下标的差值然后把结果存到一个数组中。然后将下标0弹出栈因为这个点的距离已经获取了然后再将下标1压入栈中。 
如果遇到当前元素没有栈中的下标对应的元素大直接将该下标压入栈中继续往后比较。 
class Solution {// 版本 1public int[] dailyTemperatures(int[] temperatures) {int lenstemperatures.length;int []resnew int[lens];/**如果当前遍历的元素 大于栈顶元素表示 栈顶元素的 右边的最大的元素就是 当前遍历的元素所以弹出 栈顶元素并记录如果栈不空的话还要考虑新的栈顶与当前元素的大小关系否则的话可以直接入栈。注意单调栈里 加入的元素是 下标。*/DequeInteger stacknew LinkedList();stack.push(0);for(int i1;ilens;i){if(temperatures[i]temperatures[stack.peek()]){stack.push(i);}else{while(!stack.isEmpty()temperatures[i]temperatures[stack.peek()]){res[stack.peek()]i-stack.peek();stack.pop();}stack.push(i);}}return  res;}注意stack中