2024-06-24力扣每日一题

链接:

503. 下一个更大元素 II

题意

循环数组,找出每个元素的往后最近且大于它的元素

今天没试暴力啊,大概率是过不了的

思路就是先找到最大的数,最大数的结果肯定是-1,然后倒着遍历数组,用一个栈来从大到小的存放数字,就可以很方便的得到离自身最近的比自己大的数字,同时由于是倒着遍历,所以栈内数字一定在当前遍历的数字之后

核心思路是,从后往前遍历时,后遍历到的数字(位置靠前)的数字是可以完全替换掉先遍历到的数字(位置靠后)

实际代码:

#include<bits/stdc++.h>
using namespace std;
vector<int> nextGreaterElements(vector<int>& nums)
{int maxIndex=-1;int lg=nums.size();stack<int>tMax;vector<int>ans(lg,0);for(int i=0;i<lg;i++){if(maxIndex==-1 || nums[i]>nums[maxIndex]){maxIndex=i;}}ans[maxIndex]=-1;tMax.push(nums[maxIndex]);for(int i=1;i<lg;i++){int mao=(maxIndex-i+lg)%lg;while(tMax.size() && tMax.top()<=nums[mao]){tMax.pop();}if(tMax.size()){ans[mao]=tMax.top();}else ans[mao]=-1;tMax.push(nums[mao]);}return ans;
}
int main()
{vector<int> nums;int temp;while(cin>>temp){nums.push_back(temp);}vector<int>ans=nextGreaterElements(nums);int lg=ans.size();//cout<<"lg:"<<lg<<endl;for(int i=0;i<lg;i++){cout<<"i:"<<ans[i]<<endl;}return 0;
}

限制:

  • 1 <= nums.length <= 104
  • -109 <= nums[i] <= 109

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/33693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++中的引用定义以及它与指针有何不同?

在C中&#xff0c;引用是一种特殊的别名&#xff0c;用于表示另一个已存在的变量。引用一旦定义&#xff0c;就不能再引用其他变量&#xff0c;即它始终指向同一个对象。引用主要用于作为函数参数和返回类型&#xff0c;以提高效率&#xff0c;因为它不涉及指针的解引用操作。 …

C语言常用标准头文件

头文件的基础概念 在C的系列语言程序中&#xff0c;头文件&#xff08;通常扩展名为.h&#xff09;被大量使用&#xff0c;它通常包含函数、变量、结构体等的声明和定义&#xff0c;以及一些宏定义和类型定义。头文件的主要作用是为了方便管理和重用代码&#xff0c;它可以被多…

c++分隔字符串

可以使用getline函数。 有两个版本&#xff1a; 至于为什么可以使用getline函数返回值作为while的判断条件&#xff0c;cprimer中表述如下&#xff1a;

【话题】分数限制下,选好专业还是选好学校?

目录 引言&#xff1a;一、专业优先的考量二、学校优先的考量三、个人经历与决策四、综合考虑因素五、建议与策略结论文章推荐 引言&#xff1a; 随着24年高考的落幕&#xff0c;考生们迎来了人生中的重要抉择时刻&#xff1a;选择专业还是选择学校&#xff1f;两者皆重要&…

PS系统教程25

介绍软件 BR&#xff08;bridge&#xff09; PS 配套软件&#xff0c;方便素材整理、管理素材 作用&#xff1a;起到桥梁作用 注意&#xff1a;PS和BR尽量保持版本一致 下载和安装可通过CSDN社区搜索&#xff0c;有免费安装指导。 安装之后&#xff0c;我们打开照片只需双…

vxe-list做列表虚拟滚动时,底部间距的优化

已知vxe-list在数据超出一定行时会自动启用纵向虚拟滚动配置&#xff0c;默认效果如图&#xff1a; 但是在滚动中我们发现有时列表底部间距不一致&#xff0c;而且会出现在感官上底部空白过多的情况&#xff1a; 这时候我们想让列表恰好显示完全应该怎么做呢&#xff0c;查看官…

重生奇迹MU 谁才是真正的全能职业

重生奇迹MU中&#xff0c;游戏的奥妙就在于职业的选择。不同职业间各有千秋&#xff0c;可远可近&#xff0c;全都是玩家们心中的全能职业。本文就将为你分析重生奇迹MU中的各个职业&#xff0c;为你解答谁才是真正的全能职业。 每次新开一个服务器时&#xff0c;玩家们总会纠结…

深入解析账户和会员系统的整体架构设计:从基础到高级实现

在现代应用程序和平台中&#xff0c;账户和会员系统是必不可少的核心组件。它不仅负责用户的注册和登录&#xff0c;还涉及权限管理、用户信息维护、安全性等多个方面。本文将详细解析账户和会员系统的整体架构&#xff0c;从基础概念到高级实现&#xff0c;帮助开发者全面理解…

分享HTML显示2D/3D粒子时钟

效果截图 实现代码 线上体验&#xff1a;three.jscannon.js Web 3D <!DOCTYPE html> <head> <title>three.jscannon.js Web 3D</title><meta charset"utf-8"><meta name"viewport" content"widthdevice-width,ini…

数据处理技术影响皮质-皮质间诱发电位的量化

摘要 皮质-皮质间诱发电位(CCEPs)是探究颅内人体电生理学中有效连接性的常用工具。与所有人体电生理学数据一样&#xff0c;CCEP数据极易受到噪声的影响。为了解决噪声问题&#xff0c;通常会对CCEP数据进行滤波和重参考&#xff0c;但不同的研究会采用不同的处理策略。本研究…

React中的事件绑定的四种方式

1.在构造函数中绑定事件 constructor(props) {super(props);this.handleClick this.handleClick.bind(this);}2.在调用时显式绑定 <button onClick{this.handleClick.bind(this)}>Click me</button>3.使用箭头函数 handleClick () > {console.log(Button cli…

Kotlin 中的数据类型有隐式转换吗?

在 Kotlin 中&#xff0c;数据类型不可隐式转换。在 Java 中&#xff0c;如果数据是从小到大&#xff0c;是可以隐式转换的&#xff0c;数据类型将自动提升。 下面以 int 类型的数据为例&#xff0c;在 Java 中这样写是可以的&#xff1a; int a 2312; long b a;但是在 Kot…

【产品经理】订单处理10-分配快递策略

本次主要讲解下在订单处理过程中分配快递的策略以及分配快递中需要用到的设置。 一、建立快递档案 在ERP系统中&#xff0c;需要建立快递档案&#xff0c;设置所属快递、快递的服务类型、支持的打印模版以及快递在各个平台的电子面单支持情况。 二、仓库绑定快递 仓库需要设…

基于SpringBoot前后端分离在线骑行网站设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f;感兴趣的可以先收藏起来&#xff0c;还…

Python学习笔记19:进阶篇(八)常见标准库使用之glob模块和argparse模块

前言 本文是根据python官方教程中标准库模块的介绍&#xff0c;自己查询资料并整理&#xff0c;编写代码示例做出的学习笔记。 根据模块知识&#xff0c;一次讲解单个或者多个模块的内容。 这里贴一下教程地址&#xff1a;https://docs.python.org/zh-cn/3/tutorial/stdlib.h…

SpringCloud微服务框架的原理及应用详解(九)

本系列文章简介&#xff1a; 随着云计算、大数据和物联网等技术的飞速发展&#xff0c;企业应用系统的规模和复杂度不断增加&#xff0c;传统的单体架构已经难以满足快速迭代、高并发、高可用性等现代业务需求。在这样的背景下&#xff0c;微服务架构应运而生&#xff0c;成为了…

应变计在工程中的角色:精准监测与安全保障的得力助手

在工程领域中&#xff0c;应变计作为一种重要的测量工具&#xff0c;扮演着精准监测与安全保障的得力助手的角色。它能够实时、准确地测量物体在受力作用下的变形情况&#xff0c;为工程师提供关键的数据支持&#xff0c;从而确保工程的稳定性与安全性。 应变计在工程中的应用范…

云网络与云计算:有什么区别?

云计算和云网络是相关但又不同的概念。云计算关注的是应用程序如何运行&#xff0c;而云网络则关注的是应用程序之间的连接如何管理和交付。 云计算 云计算将企业工作负载托管从传统的内部或共置数据中心转移到云服务提供商 ( CSP ) 的数据中心。 云计算提供了三种基本模式&…

智慧公共卫生间系统:科技赋能城市新生活

智慧公共卫生间系统&#xff1a;科技赋能城市新生活 随着城市化进程加速和人们生活水平的提高&#xff0c;公共卫生设施的现代化成为提升城市形象和居民生活质量的重要一环。智慧公共卫生间系统作为其中的重要组成部分&#xff0c;通过引入先进的科技和智能化设备&#xff0c;…

Python中的多继承:深入理解、问题与挑战

Python中的多继承&#xff1a;深入理解、问题与挑战 引言 在面向对象编程中&#xff0c;继承是一个核心概念&#xff0c;它允许我们定义一个类&#xff08;称为子类或派生类&#xff09;来继承另一个类&#xff08;称为父类或基类&#xff09;的属性和方法。Python支持多继承…