⭐️⭐️⭐️

# 題目敘述

Given an array of integers temperatures represents the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the ith day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead.

# Example 1

Input: temperatures = [73,74,75,71,69,72,76,73]
Output: [1,1,4,2,1,1,0,0]

# Example 2

Input: temperatures = [30,40,50,60]
Output: [1,1,1,0]

# Example 3

Input: temperatures = [30,60,90]
Output: [1,1,0]

# 解題思路

# Solution

import java.util.Arrays;
import java.util.Stack;
class Solution {
    public int[] dailyTemperatures(int[] temperatures) {
        int n = temperatures.length;
        int[] answers = new int[n];
        Arrays.fill(answers, 0);
        Stack<Integer> s = new Stack<>();
        for(int i = 0; i < n; i++){
            while(!s.isEmpty() && temperatures[s.peek()] < temperatures[i]){
                answers[s.peek()] = i - s.pop();
            }
            s.push(i);
        }
        return answers;
     }
}
#include <vector>
#include <stack>
using namespace std;
class Solution {
 public:
  vector<int> dailyTemperatures(vector<int>& temperatures) {
    int n = temperatures.size();
    vector<int> answers(n);
    stack<int> stack;
    for(int i = 0; i < n; i++){
        while (!stack.empty() && temperatures[stack.top()] < temperatures[i])
        {
            answers[stack.top()] = i - stack.top();
            stack.pop();
        }
        stack.push(i);
    }
    return answers;
  }
};

單字

** **
!! !!

片語 & 搭配詞

!! !!