当前位置: 首页 > 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;
};  

相关文章:

  • 通过LabVIEW提升生产设备自动化水平
  • centos7.8安装Mysql8.4
  • QT实现动态翻译切换
  • linux的磁盘分区与管理
  • 全网唯一:触摸精灵iOS版纯离线本地文字识别插件
  • mac地址一样,ip不同,能ping通么?
  • 数据结构(C):从初识堆到堆排序的实现
  • Spark介绍及RDD操作
  • 【计算机毕设】基于SpringBoot的医院管理系统设计与实现 - 源码免费(私信领取)
  • 力扣16. 最接近的三数之和
  • Kotlin 泛型
  • 处理一对多的映射关系
  • HCIP的学习(27)
  • 基于SpringBoot+Vue的公园管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • Spring高手之路19——Spring AOP注解指南
  • [译] 怎样写一个基础的编译器
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • Debian下无root权限使用Python访问Oracle
  • es6(二):字符串的扩展
  • ES6简单总结(搭配简单的讲解和小案例)
  • JavaScript新鲜事·第5期
  • Wamp集成环境 添加PHP的新版本
  • 从0到1:PostCSS 插件开发最佳实践
  • 诡异!React stopPropagation失灵
  • 基于web的全景—— Pannellum小试
  • 技术胖1-4季视频复习— (看视频笔记)
  • 全栈开发——Linux
  • 我的面试准备过程--容器(更新中)
  • 我是如何设计 Upload 上传组件的
  • Semaphore
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # 达梦数据库知识点
  • #、%和$符号在OGNL表达式中经常出现
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • $$$$GB2312-80区位编码表$$$$
  • (31)对象的克隆
  • (C++17) std算法之执行策略 execution
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (二十三)Flask之高频面试点
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (十一)c52学习之旅-动态数码管
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .Net Redis的秒杀Dome和异步执行
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net下的富文本编辑器FCKeditor的配置方法
  • ::什么意思
  • ??myeclipse+tomcat
  • @html.ActionLink的几种参数格式