代码随想录算法训练营第五十九天

想想其实坚持下来也不是很难,不过有很多题做一遍应该是记忆没那么深,anyway,要继续往换工作的方向走啊。加油!!

503.下一个更大元素II

想对了地方,但是没有坚持,应该搞两遍,就把所有的i都遍历过整个数组了。学到了。。。

class Solution {
public:vector<int> nextGreaterElements(vector<int>& nums) {vector<int>result(nums.size(),-1);stack<int>st;//用来记序号st.push(0);for(int i = 1;i< nums.size() * 2;i++){while(!st.empty() && nums[i % nums.size()] > nums[st.top()]){result[st.top()] = nums[i % nums.size()];st.pop();}st.push(i % nums.size());}return result;}
};

42. 接雨水 

今日做题没有斗志,随想录扶的。这题用双指针基本理解操作在干啥。

class Solution {
public:int trap(vector<int>& height) {if(height.size() <= 2)return 0;int sum = 0;vector<int>heightl_max(height.size(),0);vector<int>heightr_max(height.size(),0);int size = height.size();heightl_max[0] = height[0];heightr_max[size - 1] = height[size - 1]; for(int i = 1;i < size; i++){heightl_max[i] = max(height[i],heightl_max[i-1]);}for(int i = size -2;i >= 0;i--){heightr_max[i] = max(height[i],heightr_max[i+1]);}for(int i = 0;i < size;i++){if(i == 0 && i == size-1)continue;int count = min(heightl_max[i],heightr_max[i]) - height[i];if(count > 0)sum += count;}return sum;}
};

单调栈法

class Solution {
public:int trap(vector<int>& height) {if(height.size() <= 2)return 0;stack<int>st;st.push(0);int sum = 0;for(int i = 1;i < height.size();i++){if(height[st.top()] > height[i]){st.push(i);}else if(height[st.top()] == height[i]){st.pop();st.push(i);}else{while(!st.empty() && height[st.top()] < height[i]){int mid = st.top();st.pop();if(!st.empty()){int h = min(height[i],height[st.top()]) - height[mid];int w = i - st.top() - 1; //算的是一层,这个w很重要sum += h * w;}}st.push(i);}}return sum;}
};

今天第二题也扶完了,有个印象。。。

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

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

相关文章

景源畅信:新手做抖音运营难不难?

在这个信息爆炸的时代&#xff0c;社交媒体平台如抖音已经成为了人们日常生活中不可或缺的一部分。随着抖音的兴起&#xff0c;越来越多的人开始尝试进入这个领域&#xff0c;希望通过抖音运营实现自己的价值。然而&#xff0c;对于新手来说&#xff0c;抖音运营是否真的容易呢…

海光DCU编译安装Cupy

现在国产GPU比较重视AI&#xff0c;大都对Pytorch和TensorFlow做了移植。但是像Numpy&#xff0c;cupy这些科学计算库也非常重要&#xff0c;数据分析和处理也是一个非常大的需求。 Cupy对AMD的Rocm的支持目前还是实验性的&#xff0c;只支持4.3和5.0两个版本。海光DCU与 Rocm…

文心智能体大赛:情深智导

情深智导 概述限制澄清个性化 预览体验 概述 情深向导&#xff0c;致力于为您和您的孩子提供科学、个性化的情感支持与指导。无论您在家庭教育上遇到什么困惑&#xff0c;或是想了解孩子的内心世界&#xff0c;我都会在您身边&#xff0c;与您共同探索&#xff0c;助力亲子关系…

keepalived交叉编译

前言 Keepalived可以实现对服务器的健康检查&#xff0c;当主服务器出现故障时&#xff0c;自动将服务切换到备份服务器上&#xff0c;确保服务的连续性&#xff0c;避免单点故障。它还可以管理一个虚拟 IP 地址&#xff0c;在主备服务器之间进行灵活切换&#xff0c;对外提供…

使用 Python 编程语言进行供应链分析

前言 要分析一家公司的供应链&#xff0c;我们需要供应链不同阶段的数据&#xff0c;如有关采购、制造、运输、库存管理、销售和客户人口统计的数据。我为这项任务找到了一个理想的数据集&#xff0c;其中包括一家时尚和美容初创公司的供应链数据。 1. 相关数据集 让我们导入…

【C++风云录】进化计算框架全览:遗传算法与优化

打开进化计算世界的大门&#xff1a;从多维度了解进化计算框架与库 前言 在复杂的计算领域&#xff0c;进化计算框架和算法库扮演着至关重要的角色。本文将探讨和比较六种不同的进化计算框架和库&#xff0c;包括EO、Pagmo、Shark、ParadisEO、GALib及Open BEAGLE。 欢迎订阅…

打造坦克游戏:类方法的深入解析

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;坦克游戏与类方法的结合 二、坦克类的属性与方法概述 1. 属性定义与初…

Modbus协议基础

文章目录 Modbus概述Modbus TCP/IP Modbus概述 Modbus是由Modicon&#xff08;现为施耐德电气公司的一个品牌&#xff09;在1979年发明的&#xff0c;是全球第一个真正用于工业现场的应用层总线协议。 为更好地普及和推动Modbus在基于以太网上的分布式应用&#xff0c;目前施…

如何学习一个新技能

1. 提出想法 2.找到学习方法&#xff0c;学习路径 3.开始学 参考视频&#xff1a;如何成为超速学习者&#xff1f;快速学会任何新技能&#xff01;_哔哩哔哩_bilibili

架构每日一学 12:架构师创造价值必备的四项能力

架构活动就是为了一个架构目标而采取的行动。一个架构活动&#xff0c;可能有成百上千的人参与协同&#xff0c;那么在这个工作过程中&#xff0c;架构师要能够明确自己的定位&#xff0c;哪些事情是自己应该做的&#xff0c;哪些事情不该做。 在这个过程中&#xff0c;架构主…

Ubuntu 安装 LibreOffice

1. 删除预安装的LibreOffice Ubuntu 和其他的 Linux 发行版带有预安装的 LibreOffice。这可能不是最新的&#xff0c;这是因为发行版有特定的发行周期。在进行新安装之前&#xff0c;你可以通过以下命令删除 Ubuntu 及其衍生发行版中的的旧版本。 sudo apt remove –purge li…

vs code怎么补全路径,怎么快捷输入文件路径

安装插件&#xff1a; 链接&#xff1a;https://marketplace.visualstudio.com/items?itemNamejakob101.RelativePath 使用 按住 Ctrl Shift H&#xff0c;弹出窗口&#xff0c;输入文件补全&#xff0c;回车就可以了 排除文件 如果你的项目下文件太多&#xff0c;它会…

基础—SQL—图形化界面工具的DataGrip使用(2)

一、回顾与引言 &#xff08;1&#xff09; 上次内容&#xff0c;博客讲到了DDL语句的数据库操作、表操作、表字段的操作的相关语法&#xff0c;然而之前都是在MySQL的命令行当中去操作演示的。这种方式可以用&#xff0c;但是使用的话&#xff0c;第一&#xff0c;在我们日常…

【系统架构师】-论文-自动化运维管理在项目中的应用

2024年上半年软考系统架构师-论文2&#xff0c;自动化运维管理 摘要 随着软件系统的复杂性和规模的不断增加&#xff0c;传统的手工运维方式已无法满足高效稳定的运维需求。自动化运维管理作为现代软件架构中的重要组成部分&#xff0c;通过自动化的手段实现系统的部署、监控…

华为交换机、路由器开局(基础配置及远程登录)

一、开局配置目的 新采购的设备&#xff0c;上架安装入网使用。使用仿真工具&#xff0c;通过Console口登录&#xff0c;进行设备管理。需要基础配置&#xff0c;如&#xff1a;管理IP地址、远程管理(管理口、telnet、SSH华为又称Stelnet)&#xff0c;包括不限于设备名称、提示…

在jetson nano中安装jetson.inference模块

jetson.inference 是 NVIDIA Jetson 平台的一部分&#xff0c;用于运行深度学习推理。确保你的开发环境是 NVIDIA Jetson 设备&#xff0c;然后按照官方文档进行安装&#xff1a;https://github.com/dusty-nv/jetson-inference jetson-inference 不是通过 pip 安装的常规 Pyth…

代码随想录算法训练营第四十一天| 509. 斐波那契数 、70. 爬楼梯 、746. 使用最小花费爬楼梯

509. 斐波那契数 题目链接&#xff1a;509. 斐波那契数 文档讲解&#xff1a;代码随想录/斐波那契数 视频讲解&#xff1a;视频讲解-斐波那契数 状态&#xff1a;已完成&#xff08;1遍&#xff09; 解题过程 看到题目的第一想法 虽然看了卡哥的动态规划五部曲&#xff0c;…

编译原理 期末复习笔记整理(上)

资料借鉴&#xff1a; 【编译原理】期末复习 零基础自学_哔哩哔哩_bilibili 编译原理笔记 第一章 引论 1.编译原理逻辑过程&#xff1a; 词法分析 语法分析 语义分析 中间代码生成 编译代码生成 2.词法分析 任务: 输入源程序&#xff0c;对…

解决 fatal: Not a git repository (or any of the parent directories): .git 问题

解决方法&#xff1a;在命令行 输入 git init 然后回车就好了

人机协同中的可解释性与不可解释性

在人机协同中&#xff0c;实现可解释性与不可解释性&#xff08;可接受的&#xff09;的恰当结合是一种最佳途径。这意味着在某些情况下&#xff0c;人工智能系统的决策和输出可能无法完全解释或理解&#xff0c;但仍然是可接受的&#xff0c;因为它们在特定的情境下是有效的和…