当前位置: 首页 > news >正文

【算法刷题day57】Leetcode:739. 每日温度、496.下一个更大元素 I

文章目录

    • Leetcode 739. 每日温度
      • 解题思路
      • 代码
      • 总结
    • Leetcode 496.下一个更大元素 I
      • 解题思路
      • 代码
      • 总结

草稿图网站
java的Deque

Leetcode 739. 每日温度

题目:739. 每日温度
解析:代码随想录解析

解题思路

维护一个单调栈,当新元素大于栈顶,就赋予栈顶对应的res的位置i-stack.peek()。

代码

//暴力,剩一个样例无法通过
class Solution {public int[] dailyTemperatures(int[] temperatures) {int n = temperatures.length;int []res = new int[n];for (int i = 0; i < n-1; i++) {for (int p = 1; i + p < n; p++) {if (temperatures[i+p] > temperatures[i]) {res[i] = p;break;}}}return res;}
}//单调栈
class Solution {public int[] dailyTemperatures(int[] temperatures) {int n = temperatures.length;int []res = new int[n];Stack<Integer> stack = new Stack<>();for (int i = 0; i < n; i++) {while (!stack.isEmpty() && temperatures[i] > temperatures[stack.peek()]) {res[stack.peek()] = i - stack.peek();stack.pop();}stack.push(i);}return res;}
}

总结

暂无

Leetcode 496.下一个更大元素 I

题目:496.下一个更大元素 I
解析:代码随想录解析

解题思路

使用HashMap来进行值到res的索引的对应,维护一个单调栈。当HashMap中存在数的时候,将后面第一个大于的数加入res中

代码

class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {Map<Integer, Integer> map = new HashMap<>();for (int i = 0; i < nums1.length; i++)map.put(nums1[i], i);int []res = new int[nums1.length];Arrays.fill(res, -1);Stack<Integer> stack = new Stack<>();for (int i = 0; i < nums2.length; i++) {while (!stack.isEmpty() && nums2[i] > nums2[stack.peek()]) {int preNum = nums2[stack.peek()];if (map.containsKey(preNum)) {res[map.get(preNum)] = nums2[i];}stack.pop();}stack.push(i);}return res;}
}

总结

暂无

http://www.lryc.cn/news/351724.html

相关文章:

  • 【EXCEL_VBA_实战】两组数据比对是否一致(字符串数组)
  • 寻找峰值 ---- 二分查找
  • C语言--输入一个整数代表秒数,将这个数转化为对应的小时数、分钟数、和秒数
  • 二分搜索技术
  • docker容器安装nexus3以及nexus3备份迁移仓库数据
  • 无线领夹麦克风哪个品牌音质最好,揭秘无线领夹麦哪个牌子好用
  • pcd点云江湖之处处碰壁:点云文件pcd加载02
  • 【SQL国际标准】ISO/IEC 9075:2023 系列SQL的国际标准详情
  • 15.1数组练习题
  • Flink 任务调度策略:Lazy from Sources 深入解析
  • 【NumPy】关于numpy.reshape()函数,看这一篇文章就够了
  • 探寻最强性能云电脑:ToDesk云电脑、无影云、网易云游戏、易腾云横测大比拼
  • 回溯法——(2)n皇后问题(C语言讲解)(LeetCode51 N皇后思想)(4皇后棋盘画图举例)(附代码)
  • 数据库系统概论(第5版)复习笔记
  • 数仓领域,Serving 是什么概念?
  • Python筑基之旅-MySQL数据库(三)
  • (全面)Nginx格式化插件,Nginx生产工具,Nginx常用命令
  • 软考 软件设计师 场景分析题 速成篇
  • [学习笔记](Python3)防止SQL注入、XSS攻击和文件上传漏洞
  • 西门子CPU与汇川伺服通信与控制
  • 移动硬盘无法读取怎么修复?简单八步,轻松搞定!
  • c4d云渲染是工程文件会暴露吗?
  • C语言/数据结构——每日一题(有效的括号)
  • STM32使用旋转编码开关
  • OneMO同行 心级服务:中移物联OneMO模组助力客户终端寒冷环境下的稳定运行
  • 爬虫视图展示之 Power BI
  • 微软刚发布的Copilot+PC为什么让Intel和AMD尴尬?2024 AI PC元年——产业布局及前景展望
  • 抖音视频怎么去水印保存部分源码|短视频爬虫提取收集下载工具
  • 类的组合、作用域与可见性、类的静态成员、单例模式、
  • 高速公路定向广播(声光一体) HT-600D