739-每日温度

题目描述

请根据每日气温列表 temperatures ,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。

示例1

输入: temperatures = [73,74,75,71,69,72,76,73]
输出: [1,1,4,2,1,1,0,0]

示例2

输入: temperatures = [30,40,50,60]
输出: [1,1,1,0]

解题

import java.util.HashMap;
import java.util.Map;

public class Solution {
    public int[] dailyTemperatures(int[] temperatures) {
        //获取数组长度
        int length = temperatures.length;
        //初始返回数组
        int[] back = new int[length];
        //定义一个计数器,初始值为1
        int count = 1;
        for (int i = 0; i < length - 1; i++) {
            //每次遍历到i的时候,都要重置count的值
            count = 1;
            for (int j = i + 1; j < length; j++) {
                if (temperatures[i] < temperatures[j]) {
                    back[i] = count;
                    break;
                }
                if (temperatures[i] >= temperatures[j]) {
                    //遍历到最后一个i时,如果temperatures[i] 还是大于 temperatures[j],则直接设置back[i]为0
                    if (j == length - 1) {
                        back[i] = 0;
                        break;
                    }
                    count++;
                    continue;
                }
            }
        }
        //最后一个始终为0
        back[length - 1] = 0;
        return back;
    }
}

你可能感兴趣的:(739-每日温度)