力扣 20. 有效的括号,496. 下一个更大元素 I,739. 每日温度,856. 括号的分数,32. 最长有效括号

20. 有效的括号

题目

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。

AC代码

class Solution {
public:bool isValid(string s) {map<char,int>m{{'(',1},{'[',2},{'{',3},{')',4},{']',5},{'}',6}};// 设置权重,便于比较有效符号对stack<int>st;// 储存 符号对 的 前符号bool ans=true;for(auto c : s){int t=m[c];if(t>=1&&t<=3)  st.push(t);else if(!st.empty()&&t==st.top()+3) st.pop();else // 出现无效符号{ans=false;break;}}if(!st.empty())ans=false;// 最后有多余的前符号,则字符串无效return ans;}
};

496. 下一个更大元素 I

题目

nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。

给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。

对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下标 j ,并且在 nums2 确定 nums2[j] 的 下一个更大元素 。如果不存在下一个更大元素,那么本次查询的答案是 -1 。

返回一个长度为 nums1.length 的数组 ans 作为答案,满足 ans[i] 是如上所述的 下一个更大元素 。

AC代码

class Solution {
public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {map<int,int>mp;for(int i=0;i<nums2.size();i++)    mp[nums2[i]]=i+1;// 标记 nums2 的下标vector<int>ans; // 储存答案for(int i=0;i<nums1.size();i++){int x=nums1[i],y=mp[nums1[i]];int f=0;for(int j=y;j<nums2.size();j++)// 寻找 右边 较大值{if(nums2[j]>x){f=1;ans.push_back(nums2[j]);break;}}if(f==0)ans.push_back(-1);}return ans;}
};

739. 每日温度

题目描述

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。

AC代码

class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {int n=temperatures.size();vector<int> ans(n);stack<int>q;for(int i=0;i<n;i++){while(!q.empty()&&temperatures[i]>temperatures[q.top()])// 找到第 i 位左边的第一个比第 i 位数的数{int t=q.top();ans[t]=i-t;// 储存按要求的答案q.pop();}q.push(i);}return  ans;}
}; 

856. 括号的分数

题目

给定一个平衡括号字符串 S,按下述规则计算该字符串的分数:

() 得 1 分。
AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。
(A) 得 2 * A 分,其中 A 是平衡括号字符串。

输入

S 是平衡括号字符串,且只含有 ’ ( ’ 和 ’ ) ’ 。

2 <= S.length <= 50

AC代码

class Solution {
public:int scoreOfParentheses(string s) {int ans=0,n=s.size(),t=0;for(int i=0;i<n;i++){if(s[i]=='(')   t++;else    t--;if(s[i]==')'&&s[i-1]=='('){ans+=1<<t; // 加上 2 的符号对数}}return ans;}
};

32. 最长有效括号

题目

给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。

AC代码

class Solution {
public:int longestValidParentheses(string s) {int ans=0;stack<int>st;st.push(-1);for(int i=0;i<s.size();i++){if(s[i]=='(')    st.push(i);else{st.pop();if(st.empty())st.push(i);elseans=max(ans,i-st.top());// 匹配到完整字符串}}return ans;}
};

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

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

相关文章

GIT命令学习 二

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️宝剑锋从磨砺出&#xff0c;梅花香自苦寒来 ☁️运维工程师的职责&#xff1a;监…

QListWidget开发详解

QListWidget开发详解 一、QListWidget基本使用1.1 创建 QListWidget1.2 QListWidget添加项1.3 QListWidget删除项1.4 QListWidget获取和设置项 二、QListWidget响应用户交互2.1 QListWidget的单击响应2.3 QListWidget的 currentItemChanged2.3 QListWidget的右键餐单 三、QList…

开源智能助手平台Dify是什么?

1.背景 对于国内小公司&#xff0c;怎样通过Ai 将内部流程、产品重新做一次&#xff0c;从而提高人效、给客户带来价值&#xff0c;这是老板们在考虑的问题 &#xff1f; 当前市面上的你大模型例如&#xff1a;通义千问、文心一言、kimi、智谱清言、盘古 等&#xff0c;底层能…

MySQL8的备份方案——差异备份(CentOS)

MySQL8的差异备份 一、安装备份工具二、备份数据三、准备恢复所需的备份数据四、 恢复备份文件 点击跳转全量(完全)备份 点击跳转增量备份 点击跳转压缩备份 一、安装备份工具 官网 下载地址 备份所用工具为percona-xtrabackup 如果下方安装工具的教程失效&#xff0c;请点击…

JavaWeb服务器-Tomcat(Tomcat概述、Tomcat的下载、安装与卸载、启动与关闭、常见的问题)

Tomcat概述 Tomcat服务器软件是一个免费的开源的web应用服务器。是Apache软件基金会的一个核心项目。由Apache&#xff0c;Sun和其他一些公司及个人共同开发而成。 由于Tomcat只支持Servlet/JSP少量JavaEE规范&#xff0c;所以是一个开源免费的轻量级Web服务器。 JavaEE规范&…

Android init.rc如何并行执行任务

Android开机优化系列文档-CSDN博客 Android 14 开机时间优化措施汇总-CSDN博客Android 14 开机时间优化措施-CSDN博客根据systrace报告优化系统时需要关注的指标和优化策略-CSDN博客Android系统上常见的性能优化工具-CSDN博客Android上如何使用perfetto分析systrace-CSDN博客A…

python-网络并发模型

3. 网络并发模型 3.1 网络并发模型概述 什么是网络并发 在实际工作中&#xff0c;一个服务端程序往往要应对多个客户端同时发起访问的情况。如果让服务端程序能够更好的同时满足更多客户端网络请求的情形&#xff0c;这就是并发网络模型。 循环网络模型问题 循环网络模型只能…

逻辑回归损失函数

文章目录 1.基础简析交叉熵损失函数&#xff08;Cross-Entropy Loss&#xff09;对数似然损失函数&#xff08;Log-Likelihood Loss&#xff09; 2.关键步骤3.案例 1.基础简析 逻辑回归&#xff08;Logistic Regression&#xff09;是一种广泛应用于分类问题的统计模型&#x…

C++进阶 继承

目录 继承的概念及定义 继承概念 继承定义 定义格式 继承关系和访问限定符 继承基类成员访问方式的变化 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 构造函数 拷贝构造函数 赋值运算符重载 析构函数 总结 继承与友元 继承与静态成员 浅谈复杂…

Scott Brinker:消除噪音越来越难?这是一个越来越有效的营销渠道

合作伙伴成为更有效的渠道 对于普通读者来说&#xff0c;我看好生态系统并不奇怪。我一直主张&#xff0c;平台生态系统可以解决不断变化、高度多样化的市场格局中的许多挑战。这也是我在HubSpot和公司的技术合作伙伴生态系统所关注的。 在本月早些时候的文章中&#xff0c;我…

SpringMVC源码深度解析(中)

接上一遍博客《SpringMVC源码深度解析(上)》继续聊。最后聊到了SpringMVC的九大组建的初始化&#xff0c;以 HandlerMapping为例&#xff0c;SpringMVC提供了三个实现了&#xff0c;分别是&#xff1a;BeanNameUrlHandlerMapping、RequestMappingHandlerMapping、RouterFunctio…

AI一站式科研写作利器:PaperPal

文章目录 在线编辑Word 插件 在线编辑 PaperPal是一款面向科研人员的写作工具&#xff0c;支持在线编辑以及Word插件。下面以在线编辑为例&#xff0c;详述PaperPal的润色功能。 进入网页后&#xff0c;点击【新建在线文档】&#xff0c;即可开启润色功能&#xff0c;界面如下…

《昇思25天学习打卡营第24天|基于 MindSpore 实现 BERT 对话情绪识别》

1. BERT 模型概述 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是一个预训练的语言表示模型&#xff0c;可以应用于多种自然语言处理任务&#xff0c;包括对话情绪识别。BERT 通过双向 Transformer 编码器&#xff0c;能同时考虑句子…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 图像物体的边界(200分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…

红尘阡陌:相遇与分离的交织,在这纷繁复杂的尘世间,阡陌纵横,每一条道路都承载着无数的故事,有相遇的欣喜,亦有分离的哀伤

红尘阡陌:相遇与分离的交织,在这纷繁复杂的尘世间,阡陌纵横,每一条道路都承载着无数的故事,有相遇的欣喜,亦有分离的哀伤。相遇,宛如璀璨星辰划过夜空,瞬间点亮了生命的黑暗;分离,却似深秋的寒风,无情地吹落了曾经繁茂的枝叶。 有些人的出现,如同春日里的暖阳,猝…

ultralytics-yolov8

yolov8 安装环境 装pytorch conda install pytorch1.12.1 torchvision0.13.1 torchaudio0.12.1 cudatoolkit11.6 -c pytorch -c conda-forge安装用到的包 requirements.txt ultralytics tqdm scikit-learn pyaml shapely pyclipper scikit-image imgaug lmdb tqdm rapidfuz…

word 设置目录中英文字母大写改为小写

选中目录右击“字体”&#xff0c;设置“小型大写字母”。

【Vue3】工程创建及目录说明

【Vue3】工程创建及目录说明 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日…

【LeetCode】从中序与后序遍历序列构造二叉树

目录 一、题目二、解法完整代码 一、题目 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7], …

谷粒商城实战笔记-40-前端基础-Vue-计算属性、监听器、过滤器

文章目录 一&#xff0c;计算属性1&#xff0c;用途2&#xff0c;用法2.1 定义View2.2 声明计算属性 3&#xff0c;注意事项 二&#xff0c;监听器1. 使用 watch 监听属性的变化 三&#xff0c;过滤器1&#xff0c;定义局部过滤器2&#xff0c;定义全局过滤器3&#xff0c;使用…