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

代码随想录35期Day54-JavaScript

Day54题目

### LeetCode739每日温度

核心思想:今天主要是学会单调栈的使用.找到比元素更大的下一个元素,如果比栈顶元素小就入栈,否则就出栈顶元素,当前元素就是比栈顶元素大的"下一个更大的元素".

/*** @param {number[]} temperatures* @return {number[]}*/
var dailyTemperatures = function(temperatures) {// 单调栈存放下标var stack = []var answers = new Array(temperatures.length).fill(0)stack.push(0)for(var i  = 1 ; i < temperatures.length ; i ++ ){// js没有peek,只能使用数组类似的下标访问最后一个元素while(temperatures[stack[stack.length-1]] < temperatures[i]){var index = stack.pop();answers[index] = i - index;}stack.push(i);}return answers;
};

LeetCode496下一个更大元素

核心思想:使用单调栈存储元素的值就行

/*** @param {number[]} nums1* @param {number[]} nums2* @return {number[]}*/
var nextGreaterElement = function(nums1, nums2) {var answers = [];var stack = []var tem = [];stack.push(nums2[0])for(let i = 0 ; i < nums2.length ; i ++){while(stack[stack.length-1] < nums2[i]){tem[stack.pop()] = nums2[i];}stack.push(nums2[i]);}for(let i = 0 ; i < nums1.length ; i ++){if(!tem[nums1[i]]){answers.push(-1)}else{answers.push(tem[nums1[i]]);}}return answers;
};  
http://www.lryc.cn/news/360615.html

相关文章:

  • 把自己的服务器添加到presearch节点
  • Open3D(C++) OTSU点云二值化
  • 浔川python社获得全网博主原力月度排名泸州地区第二名!
  • 第二站:Java——集合框架的深邃海洋(续)
  • linux系统下,mysql增加用户
  • Java数据结构与算法(最长回文子串中心扩散法)
  • 基于Python网络招聘数据可视化分析系统的设计与实现
  • 【Linux】Linux工具——gcc/g++
  • 【惯性传感器imu】—— WHEELTEC的惯导模块的imu的驱动安装配置和运行
  • Linux提权一
  • Vue.js中如何实现以列表首列为表头
  • 如果孙宇晨和贾跃亭能够握手,或许将会上演新的戏码
  • 渲染100为什么是高性价比网渲平台?渲染100邀请码1a12
  • Jenkins流水线pipeline--基于上一章的工作流程
  • 比较Rust和Haskel
  • RedisTemplate的Long类型使用increment自增报错
  • 【代码随想录训练营】【Day 36】【贪心-3】| Leetcode 1005, 134, 135
  • 2.7HDR与LDR
  • YOLOv5改进(五)-- 轻量化模型MobileNetv3
  • 用户流失分析:如何使用Python训练一个用户流失预测模型?
  • 【计算机毕设】基于SpringBoot的社区医院信息平台设计与实现 - 源码免费(私信领取)
  • LLM——深入探索 ChatGPT在代码解释方面的应用研究
  • Android中ANR的分析和解决
  • Kotlin 类
  • Forth Python语言:深度解析其四维、五维、六维与七维之奥秘
  • MySQL--复合查询
  • 前端项目开发,3个HTTP请求工具
  • Java_Mybatis
  • 2024HW|常见红队使用工具
  • Redisson集成SpringBoot