496. Next Greater Element I

LeetCode --- 496. Next Greater Element I 解题报告 You are given two arrays(without duplicates)nums1andnums2wherenums1’s elements are subset ofnums2. Find all the next greater numbers fornums1's elements in the corresponding places ofnums2. ... 阅读详情

2017年3月6日
  过了一个混沌的周末,最近的状态很不好,是时候该打起精神来了。刷题该步入正轨了,有时候想的太多反而虚度,不如按照自己当下想做的就去做好了。
   今天很喜欢听一首歌《no one but you》
  who would make the rules for the things that you do? --no one but you.
   今天的题目:


题目大意是:给两个数组findNums和nums,返回一个和findNums等长的数组,其返回的内容为:对于findNums[i],返回的result[i]为nums[i]数组中,findNums[i]的后面的元素中第一个比findNums[i]大的元素。如果不存在这样的元素就写-1。其中findNums数组是nums数组的子数组。
思路:
使用栈,从后往前遍历nums[i],每当栈不为空的时候,一直出栈直到遇到比nums[i]大的数字停止。设立一个map<int, int> m,存储nums中每一个元素以及它对应的下一个最大元素构成的映射。如果停止后栈为空就将m[nums[i]]标记为-1,否则就写栈的栈顶元素~
最后将findNums中出现的每一个元素对应的map的值放入result数组中返回。
class Solution {
public:
    vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) {
        vector<int> result;
        stack<int> s;
        map<int, int> m;
        for (int i = nums.size() - 1; i >= 0; i--) {
            while (!s.empty() && s.top() <= nums[i]) 
                s.pop();
            m[nums[i]] = s.empty() ? -1 : s.top();
            s.push(nums[i]);
        }
        for (int i = 0; i < findNums.size(); i++)
            result.push_back(m[findNums[i]]);
        return result;
    }
};


Redmi K30 5G刷 LineageOS17.1 前言 买手机前就观望了Xdr论坛,看Redmi K30 5G有LineageOS17.1的Rom并且还挺热,应该还不错,就入手了。晚上就刷机了。买了小米就是为了折腾,为发烧而生。 在开始前还请先安装adb工具,因为我自己是做Android开发的,自带adb,不会安装的可以百度“Android安装adb工具”。还有下载刷机文件:百度云 密码:2a0f 刷机的系统是刚买来的低版本,没有升级过Rom,如果高版本慎刷。 还有这个Rom是5G版本的,4G版本的不要刷。 建议没有刷过机器的最好不要尝试,变砖后果自负。 阅读详情

相关推荐

STM32H7 FOC控制时序优化与PWM中点更新策略

在永磁同步电机(PMSM)的磁场定向控制(FOC)系统中,控制时序精度是决定电流环带宽、观测器收敛性与动态响应能力的基础要素。其核心在于理解PWM生成、ADC采样与控制计算三者之间的硬件级时间耦合关系——尤其在中心对齐模式下,标准更新机制引入的半周期延迟会破坏电压-电流瞬时映射,导致滑模观测器失配与高频相位滞后。通过将PWM更新事件绑定至重复计数器(RCR)清零点,可实现控制指令在开关周期中点生效,使等效电压矢量中心与计算时刻严格对齐。该策略显著提升系统确定性,为20 kHz以上高频电流环提供物理支撑,并广

flink9streamer的博客 857

python leetcode496. 下一个更大元素 I

给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。 nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。 示例 1: 输入: nums1 = [4,1,2], nums2 = [1,3,4,2]. 输...

xiaox的专栏 481

第一届“龙信杯”电子数据取证竞赛Writeup

第一届“龙信杯”电子数据取证竞赛Writeup

toto的博客 1万+

python--leetcode496. Next Greater Element I

You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nums1's elements in the corresponding places of nums

wenqiwenqi123的博客 1480

JavaSpringBoot + VUE 相关开发环境配置合集

1.Java环境-JDK安装 参照:Java基础1-环境篇:JDK安装与环境变量配置 Java基础1-环境篇:JDK安装与环境变量配置_第一段代码的博客-优快云博客_jdk 2.Web服务器-Tomcat安装 原创Java服务器Tomcat安装和配置 3.Maven(后面为了项目兼容性,使用了3.0.5版本) 原创Maven安装和配置(Maven3.0.5) 4.nginx 原创nginx轻量级Web服务器安装和配置 5 数据库mysql 原创数据库Mysql安装和配置 ...

第一段代码的博客 3163

sap销售发货的流程_SAP销售订单发货后如何实现发票的自动创建?

问SAP销售订单发货后如何实现发票的自动创建?答业务场景有些快消零售企业,SAP系统单据量大,单据金额少,一般在销售发货后即可确认收入。此时无需人工在系统内操作VF01或者VF04进行开票操作,可将该操作设置成后台作业进行自动批量开票,具体操作如下:1、定义任务:VF06输入完以上信息,点击保存进入以下界面:说明:当前日期的意思是“开票的日期”等于“系统电脑中的当前日期”当前日期+/-...

weixin_42358409的博客 3361

下一个更大元素

题目描述给定一个数组, 找到每个元素右边第一个比它大的元素。输入 第一行一个整数n,表示数组大小, 接下来一行n个正整数,表示数组中的元素值。 数据范围:n&lt;=100000, 数组中元素值不超过1000000000。 输出 输出一行n个整数 表示每个元素右边第一个比它大的元素,如果没有输出-1。 样例输入4 2 1 3 4样例输出3 3 4 -1#include&lt;iostream...

Cybenko 609

华为OD机试 C++【TLV解析】

这里的valueOffset指的是value在整串消息里的起始位置(从0开始数)。这表示tag是15(十六进制的0F),length是4,接着的8个字符是value的内容。你收到了一串由两端设备传递的TLV格式的消息,现在你需要根据这串消息生成一个对应的(tag, length, valueOffset)列表。tag是15,对应的数据长度为4,value从第3个字节开始,所以偏移量为2。第二行:一个数字n,表示我们给出的tag的数量(0 < n < 1000)。第一行:一串消息,长度不超过10000。

wtswts1232的博客 482

LeetCode 496: Next Greater Element I (下一个大的元素)

You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nums1's elements in the corresponding places of nums

ttshen5945的博客 500

C#工业通信完整项目实战:从协议解析到数据库存储,打造工业级全链路数据闭环(完整可复用源码)

工业自动化的核心诉求是「数据闭环」:从工业设备采集真实生产数据 → 解析校验获得有效数据 → 持久化存储到数据库形成生产台账 → 数据分析/报表展示/异常预警,形成采集→解析→处理→存储→应用的全链路数据流转,这也是工业上位机开发的终极落地形态,区别于单纯的「数据采集」demo。本次实战是一套工业级完整投产级项目,基于C# WinForm + .NET Framework 4.8(工业标配)✅双通信链路完美适配:同时封装TCP网口 + 串口(RS232/485)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1035

基于STM32L4XX、HAL库的ICM-42670-P姿态传感器驱动程序设计

sprintf(buffer, "温度: %.1f °C\r\n\r\n", sensor_data.temperature);sprintf(buffer, "陀螺仪: X=%.2f Y=%.2f Z=%.2f rad/s\r\n",sprintf(buffer, "加速度: X=%.2f Y=%.2f Z=%.2f m/s²\r\n",sprintf(buffer, "开始校准IMU,请保持传感器静止...\r\n");sprintf(buffer, "读取传感器数据失败\r\n");

zhusl6688的博客 639

LeetCode496. 下一个更大元素

给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2]. 输出: ...

1号帅比的博客 728

Burpsuite 使用教程

Burpsuite 使用教程

xiongIT的博客 8201

496. Next Greater Element I \ 503. Next Greater Element II

Next Greater Element I 题目描述 代码实现496. Next Greater Element I题目描述ou are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers

I AM BACK 1628

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

[LeetCode]496. Next Greater Element I

[LeetCode]496. Next Greater Element I题目描述思路对每个数,遍历找到在目标数组中的位子,然后在位子之后找比他大的数,找到即寻找下一个数代码class Solution { public: vector<int> nextGreaterElement(vector<int>& findNums, vector<int>& nums) { ve

Lcharon的博客 3230

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【LeetCode】496. Next Greater Element I

Python版本:3.6.2 496. Next Greater Element I 自己的代码: class Solution: def nextGreaterElement(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int]

sunflower_kris的博客 282

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【leetcode】496. Next Greater Element I

problem: 496. Next Greater Element I 题意:求集合中每个数字在原数组中右边第一个较大的数字。 solution1: 暴力搜索; class Solution { public: vector<int> nextGreaterElement(vector<int>& nums1, vector<in...

weixin_30270889的博客 99

LeetCode //C - 496. Next Greater Element I

【代码】LeetCode //C - 496. Next Greater Element I。

Made in Code 1583

LeetCode [栈] 496.Next Greater Element I(C++和Python实现)

496 Next Greater Element I[难度:简单][哈希表/栈] 【题目】 You are given two arrays(without duplicates)nums1andnums2wherenums1’s elements are subset ofnums2. Find all the next greater numbers fornums1'...

咸鱼夏の翻身观察记录 367

LeetCode: 496. Next Greater Element I

LeetCode: 496. Next Greater Element I You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nums1’s ele

qha0731的专栏 442

LeetCode OJ 496. Next Greater Element I

LeetCode OJ 513. Find Bottom Left Tree ValueDescriptionYou are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nu

jan_deng的博客 313

LeetCode 496. Next Greater Element I 题解

本题是单调栈和哈希表的经典应用问题,主要考察对单调栈和哈希表的理解和使用。通过使用单调栈,我们可以高效地找到nums2中每个元素的下一个更大元素,然后使用哈希表来存储这些结果,最后遍历nums1来获取每个元素的下一个更大元素。单调栈的核心思想是:使用栈来存储元素,当遇到更大的元素时,弹出栈顶元素并记录其下一个更大元素为当前元素。这种方法不仅适用于下一个更大元素 I 问题,还可以应用于许多其他需要寻找下一个更大元素的问题。掌握单调栈和哈希表的使用,对于解决这类问题非常重要。

cannonjinx的博客 2247

[leetcode]496. Next Greater Element I

[leetcode]496. Next Greater Element I Analysis 生而为人要善良啊~—— [ummmm~] You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the nex...

weixin_32135877的博客 165

Leetcode PHP题解--D52 496. Next Greater Element I

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33769207的博客 79

496. Next Greater Element I*

496. Next Greater Element I* https://leetcode.com/problems/next-greater-element-i/ 题目描述 You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find a...

珍妮的选择的博客 347
上一篇: LeetCode:412. Fizz Buzz
下一篇: Python数据类型总结
Felicia_zhang
博客等级 码龄10年 0粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值