首页 > 其他分享 >739. 每日温度

739. 每日温度

时间:2023-04-19 17:14:10浏览次数:43  
标签:result deque LinkedList int 每日 add temperatures 739 温度

739. 每日温度

java在这里实现的时候用的是LinkedList,所以个人感觉这里与其叫单调栈不如叫单调列表。
注意区分LinkedList的add和push方法。
顺便温习一下集合的关系

class Solution {
    public int[] dailyTemperatures(int[] temperatures) {
        int len = temperatures.length;
        int[] result = new int[len];
        //  单调栈中保存的是temperatures的下标
        Deque<Integer> deque = new LinkedList<>();

        deque.add(0);
        for(int i = 1; i < len; i++){
            if(temperatures[i]<=temperatures[deque.getLast()]){
                deque.add(i);
            }else{
                while(!deque.isEmpty()&&temperatures[i]>temperatures[deque.getLast()]){
                    result[deque.getLast()] = i - deque.getLast();
                    deque.removeLast();
                }
                deque.add(i);
            }
        }
        return result;
    }
}

标签:result,deque,LinkedList,int,每日,add,temperatures,739,温度
From: https://www.cnblogs.com/chenyi502/p/17333915.html

相关文章

  • 4.19每日学习总结
    昨天基本完成了科技政策查询的功能完善,今天继续完善科技政策查询的页面展示,并上交,有时间的话继续完成团队项目的任务,遇到的问题是对于老师要求的功能网络上没有直接的方法,更多的需要自己去尝试。 ......
  • 建民の每日打卡8
    一、问题描述对N个数进行升序排列二、流程设计1.将N个数存入数组2.遍历数组,依次比对相邻两数大小,并将较大者置后3.最大值被置于最后,下次遍历数组只需至N-1处4.遍历N次后,完成排序三、流程图设计 四、代码实现#include<iostream>usingnamespacestd;#defineN10intm......
  • 【每日一题】分隔数组以得到最大和
    1043.分隔数组以得到最大和关键词:动态规划、递归题目来源:1043.分隔数组以得到最大和-力扣(Leetcode)题目描述T动态规划T递归给你一个整数数组arr,请你将该数组分隔为长度最多为k的一些(连续)子数组。分隔完成后,每个子数组的中的所有值都会变为该子数组中的最大值。......
  • 每日八股文之Java
    1、请你说说死锁定义及发生的条件得分点:争夺共享资源、相互等待、互斥条件、请求和保持条件、不剥夺条件、环路等待条件死锁定义:两个或两个以上的进程在执行过程中,因争夺共享资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或......
  • 每日编程一小时(第十天)
    一.问题描述5本新书借给3人,没人最多借一本,有多少种借法二.设计思路1.采用枚举的方法列出所有的选择情况2.利用判定条件删去不符合条件的情况,剩下的全部为符合条件的情况三.流程图 四.代码实现#include<iostream>usingnamespacestd;intmain(){intA,B,C,fl......
  • 2023/4/18每日随笔
       今天,上了英语口语,数据库,和python,数据库课上学了需求分析,数据库的建立等等,是一些以后做项目的要用到的东西。然后,python课上写报告,然后跑了八圈,晚上写了项目,解决了Androidfragment的添加bug,以及数据传输问题,我写的很乱,我觉得应该有一个东西可以在整个项目共享,但是我不知道......
  • 每日八股文之Java
    1、请你说说多线程得分点:线程和进程的关系、为什么使用多线程进程是操作系统资源调度的基本单位,线程是处理器任务调度和执行的基本单位,一个进程可以创建多个线程,每个线程有自己独立的程序计数器,本地方法栈和虚拟机栈,线程之间共享进程的堆和方法区。线程之间是通过时间片算法......
  • 每日团队小结
    昨天对opencv,ocr学习和使用了今天对程序的编写,servlet编写,以及对接口调用部署的浏览器找不到自己写的servlet ......
  • 每日记录
    今天研究了javaweb的记住用户,就是用户登陆过之后可以选择记住用户,下次登录时不用再输入密码账号具体实现如下importwmx.bean.User;importwmx.service.UserService;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.s......
  • 每日打卡
    虚函数,纯虚函数不能直接定义对象,可以定义指针,但他的派生可以定义对象;注意最后一道题,纯虚数,派生的类仍为纯虚数,因为派生中没有将基类的全部纯虚数重新定义;a=d;*a=&d;&a=d;#include<iostream>usingnamespacestd;classpeople{protected:intage;stringname;......