代码随想录算法训练营第五十八天| 739 每日温度 496 下一个更大元素 |
目录
739 每日温度
496 下一个更大元素 |
739 每日温度
求后面第一个比他大的元素的位置,单调栈如果递增
求后面第一个比他小的元素的位置,单调栈需要递减
class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {stack<int> st;//求的是后面第一个比他大的元素的位置,所以单调栈需要递增vector<int> res(temperatures.size(),0);//使得递增st.push(0);//存放temperatures的下标for(int i = 1;i < temperatures.size();i++){if(temperatures[i] <= temperatures[st.top()]){st.push(i);}else{while(!st.empty() && temperatures[i] > temperatures[st.top()]){//确保单调栈递增res[st.top()] = i - st.top();st.pop();}st.push(i);}}return res;}
};
时间复杂度O(n)
空间复杂度O(n)
496 下一个更大元素 |
求后面第一个比他大的元素的位置,单调栈如果递增
求后面第一个比他小的元素的位置,单调栈需要递减
class Solution {
public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {stack<int>st;vector<int>res(nums1.size(),-1);unordered_map<int,int>mp;for(int i = 0;i < nums1.size();i++){//key:下标元素 value:下标mp[nums1[i]] = i;//将nums1中的数据存放到mp中}st.push(0);//存放下标for(int i = 1;i < nums2.size();i++){if(nums2[i] <= nums2[st.top()]){//求后面第一个比他大的元素的位置,单调栈如果递增st.push(i);}else{//确保单调栈单调递增while(!st.empty() && nums2[i] > nums2[st.top()]){//找到自己的位置才停止if(mp.count(nums2[st.top()]) > 0){//nums1中存在这个元素int idx = mp[nums2[st.top()]];res[idx] = nums2[i];}st.pop();}st.push(i);}}return res;}
};
时间复杂度O(m+n)//m是nums1的长度,n是nums2的长度
空间复杂度O(n)
相关文章:
代码随想录算法训练营第五十八天| 739 每日温度 496 下一个更大元素 |
目录 739 每日温度 496 下一个更大元素 | 739 每日温度 求后面第一个比他大的元素的位置,单调栈如果递增 求后面第一个比他小的元素的位置,单调栈需要递减 class Solution { public:vector<int> dailyTemperatures(vector<int>& tempe…...
配置自定义RedisTemplate 解决redis序列化java8 LocalDateTime
目录 配置自定义RedisTemplate 引入依赖 配置连接redis 编写测试类 出现问题 配置序列化 解决redis序列化java8 LocalDateTime 问题背景 问题描述 问题分析 解决方案一(全局) 解决方案二(单个字段) 配置自定义RedisTe…...
华为---登录USG6000V防火墙---console、web、telnet、ssh方式登录
目录 一、环境搭建 二、第一次登录USG6000V防火墙,即通过console方式登录 三、用户配置 四、web登录USG6000V防火墙 1. 用web创建的用户通过web方式登录USG6000V防火墙 2. 命令行创建的用户通过web方式登录USG6000V防火墙 五、ssh方式登录USG6000V防火墙 1. 用…...
css图片属性,图片自适应
CSS 图片属性指南:background-size 和 object-fit 在前端开发中,使用图片是非常常见的。为了让图片在网页中显示得更好,CSS 提供了多种属性来调整和控制图片的大小和布局。其中,background-size 和 object-fit 是两个常用的属性&a…...
【Python百宝箱】数据科学的黄金三角:数据挖掘和聚类
数据之舞:Python数据科学库横扫全场 前言 在当今数据驱动的时代,Python成为数据科学家和分析师的首选工具之一。本文将介绍一系列强大的Python库,涵盖了数据处理、可视化、机器学习和自然语言处理等领域。无论你是初学者还是经验丰富的数据…...
【数据结构和算法】最大连续1的个数 III
其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:滑动窗口 2.2 滑动窗口解题模板 三、代码 3.1 方法一:滑动窗口 四、…...
AngularJS
理解实现代码的逻辑为主要,代码怎么写为次要。 参考资料: 《AngularJS入门与进阶》,江荣波著 前端开发常用框架 React:由Facebook开发,用于构建用户界面的JavaScript库,以组件化和虚拟DOM著称。 Angular&…...
初级数据结构(七)——二叉树
文中代码源文件已上传:数据结构源码 <-上一篇 初级数据结构(六)——堆 | NULL 下一篇-> 1、写在前面 二叉树的基本概念在《初级数据结构(五)——树和二叉树的概念》中已经介绍得足够详细了。上一…...
对比学习综述
1.简介 2.相关工作 2.1、Inst Disc 代理任务:个体判别。把每一个图片看作是一种类别,把每一个图片都区分开来。 正负样本选择:正样本是图片本身,负样本是数据集里的其他图片,该文章从memory bank中随机抽取4096个负…...
R语言【cli】——cli_warn可以更便捷的在控制台输出警告信息
Package cli version 3.6.2 cli_warn(message, ..., .envir parent.frame()) 参数【message】:它是通过调用 cli_bullets() 进行格式化的。进一步地,还需要调用 inline-makeup(内联标记)。 参数【...】:传递给 rlan…...
从零开始创建GPTs 人人都可以编写自己的ChatGPT产品
在这个人工智能迅猛发展的时代,GPT(生成式预训练变换器)已经成为一项令人兴奋的技术,它打开了创意和知识的新大门。无论你是一名编程新手、一位热爱探索的学生,还是对未来充满好奇的专业人士,GPTs都可以为你…...
人工智能对网络安全的影响
技术的快速发展带来了不断增长的威胁环境,网络犯罪分子和恶意行为者利用我们互联世界中的漏洞。在这个数字时代,数据泄露和网络攻击呈上升趋势,仅靠传统的安全措施已经不够了。人工智能 (AI) 的进步彻底改变了网络安全…...
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TextInput输入框组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之TextInput输入框组件 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、TextInput 接口 TextInput(value?:{placeholder?: ResourceStr, tex…...
【C++入门到精通】互斥锁 (Mutex) C++11 [ C++入门 ]
阅读导航 引言一、Mutex的简介二、Mutex的种类1. std::mutex (基本互斥锁)2. std::recursive_mutex (递归互斥锁)3. std::timed_mutex (限时等待互斥锁)4. std::recursive_timed_mutex (限时等待…...
安全狗云原生安全-云甲·云原生容器安全管理系统
随着云计算的快速发展,容器技术逐渐成为主流。然而,随着容器的普及,安全问题也日益突出。为了解决这一问题,安全狗推出了云原生容器安全管理系统——云甲。 云甲是安全狗云原生安全的重要组成部分,它采用了先进的云原生…...
Python 学习路线:介绍、基础语法、数据结构、算法、高级主题、框架及异步编程详解
Python 介绍 Python 是一种 高级 的、解释型 的、通用 的编程语言。其设计哲学强调代码的可读性,使用显著的缩进。Python 是 动态类型 和 垃圾收集 的。 基本语法 设置 Python 环境并开始基础知识。 文章链接:Python 安装与快速入门 变量 变量用于…...
基于Java+SpringBoot+Mybaties-plus+Vue+ElementUI+Vant 电影院订票管理系统 的设计与实现
一.项目介绍 基于SpringBootVue 电影院订票管理系统 分为前端和后端。 前端(用户): 登录后支持查看首页、电影、影院和我的信息 支持查看正在热映和即将上映的电影信息 支持购票(需选择影院座位)、看过(评论…...
轻量级购物小程序H5产品设计经典样例
主要是看到这个产品设计的不错值得借鉴特记录如下: 不过大多数购物app都大致相同,这个算是经典样例,几乎都可以复制,我第一次使用,感觉和顺畅。看上去产品是经过打磨的,布局非常好。内容也很丰富。支持异业…...
final, finally, finalize 的区别?
1.final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 内部类要访问局部变量,局部变量必须定义成 final 类型 2.finally 是异常处理语句结构的一部分,表示总是执行 3.finalize …...
4.使用 Blazor 构建 Web 应用程序
微软官方培训 了解如何通过 Blazor Web 用户界面框架构建你的第一个 Web 应用程序。 https://learn.microsoft.com/zh-cn/training/paths/build-web-apps-with-blazor/?viewaspnetcore-8.0 8个模块 目录 微软官方培训 1.使用 Blazor 进行 Web 开发的简介 2.使用 Blazor…...
Arm Cortex-A78处理器仿真技术与Iris架构实践
1. Arm Cortex-A78AE/A78C处理器仿真技术解析在半导体设计领域,处理器仿真技术已经成为芯片开发流程中不可或缺的关键环节。作为Armv8.2-A架构的代表性产品,Cortex-A78AE和A78C处理器采用了创新的Iris组件体系进行建模,这种基于指令集架构(IS…...
零中频接收机技术演进与动态范围优化方案
1. 零中频接收机技术演进与核心挑战零中频架构(Zero-IF)在移动通信领域已发展超过二十年,最早可追溯至1990年代的GSM手机设计。这种直接将射频信号下变频至基带的技术,相比传统超外差架构省去了中频处理环节,理论上具有…...
对话式AI智能中继与编排框架:构建高可用AI应用的核心架构
1. 项目概述:一个面向对话式AI的智能中继与编排框架最近在折腾一个挺有意思的开源项目,叫ChatAgentRelay。乍一看这个名字,可能觉得它又是一个聊天机器人框架,但深入把玩之后,我发现它的定位其实更精准,也更…...
Cursor编辑器深度美化:CSS注入与动态特效实现全解析
1. 项目概述:当代码编辑器拥有了“皮肤”与“特效”如果你和我一样,每天有超过8小时的时间是在代码编辑器里度过的,那么你一定理解一个顺眼、顺手、甚至有点“酷”的编辑环境意味着什么。它不仅仅是生产力的工具,更是我们开发者思…...
KafClaw:Apache Kafka增强型命令行客户端,提升数据操作与调试效率
1. 项目概述与核心价值最近在开源社区里,KafClaw 这个项目引起了不少关注。乍一看这个名字,你可能会联想到 Apache Kafka 和某种“爪子”(Claw)的结合,没错,这正是它的精髓所在。KafClaw 本质上是一个针对 …...
API管理平台能力与数据盘点
API管理平台是现代企业IT架构中的核心组件,承担着接口设计、发布、运维、安全管控及生态开放等关键职责。不同平台在功能深度、性能指标和行业实践上各有积累。本文基于公开资料,对五款API管理平台的核心能力与关键数据进行客观梳理,以表格与…...
3步解放暗黑2存档:Diablo Edit2角色编辑器完全指南
3步解放暗黑2存档:Diablo Edit2角色编辑器完全指南 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否曾因暗黑破坏神2角色build失误而懊恼?是否厌倦了数百小时刷装备却…...
Stardew Valley Mod开发:使用OpenClaw主题框架快速构建原生风格UI
1. 项目概述:一个为Stardew Valley Mod开发者量身打造的主题框架如果你是一位《星露谷物语》(Stardew Valley)的模组(Mod)开发者,或者正打算踏入这个充满创造力的社区,那么你很可能已经体会过&a…...
从方程到应用:激光雷达核心参数与激光器选型指南
1. 激光雷达方程:从数学公式到物理意义 第一次接触激光雷达方程时,我也被那一堆希腊字母和下标搞得头晕眼花。但后来发现,这个看似复杂的方程其实就像买菜算账一样简单直白。激光雷达方程本质上是个"能量收支平衡表",它…...
别再乱接电阻了!STM32F407 SWD调试电路设计,从手册到实战的完整避坑指南
STM32F407 SWD调试电路设计:从芯片手册到工程实践的黄金法则 在嵌入式开发领域,调试接口的设计往往被当作"简单连线"而草率处理,直到某天你发现烧录器频繁断开连接、芯片无法识别,或是批量生产中出现随机性下载失败——…...
