每日两题 / 131. 分割回文串 42. 接雨水(LeetCode热题100)

131. 分割回文串 - 力扣(LeetCode)
image.png
数据量较小,考虑直接暴力,每次dfs:以bg作为左区间,往右遍历,找到一段回文串区间后,将回文串插入vector<string>,并以下一个下标为bg,再次进行dfs,dfs后记得回溯

class Solution {
public:vector<vector<string>> ans;bool f(string &s, int l, int r) {while (l < r) {if (s[l] != s[r]) return false;l ++ , r -- ;}return true;}void dfs(string &s, int bg, vector<string> &t) {if (bg == s.size()) {ans.push_back(t);return;}for (int i = bg; i < s.size(); ++ i) {if (f(s, bg, i)) {t.push_back(s.substr(bg, i - bg + 1));dfs(s, i + 1, t);t.pop_back();}}}vector<vector<string>> partition(string s) {vector<string> t;dfs(s, 0, t);return ans;}
};

42. 接雨水 - 力扣(LeetCode)
image.png

第i个位置的雨水高度为:左边最高柱子与右边最高柱子的最小值
那么能接的水量为:雨水高度 - height[i]
先预处理左右两边的最高柱子高度,然后线性遍历一遍即可

class Solution {
public:
#define N 20010int left[N], right[N];int trap(vector<int>& height) { int ans = 0;int n = height.size();right[n - 1] = height[n - 1];left[0] = height[0];for (int i = 1; i < n; ++ i) {left[i] = max(left[i - 1], height[i]);}for (int i = n - 2; i >= 0; -- i) {right[i] = max(right[i + 1], height[i]);}for (int i = 0; i < n; ++ i) {ans += min(left[i], right[i]) - height[i];}return ans;}
};

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

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

相关文章

段位在于面对人性之恶,一笑而过

这个小哥哥不知道是哪里不对劲了&#xff0c;突然给我留言说我在骗流量&#xff0c;骗关注。公众号是我的&#xff0c;文章是我写的&#xff0c;主要分享的就是我创业的一些接单案例&#xff0c;因为之前收到很多无效的留言&#xff0c;寻求合作就几个字我不想接收无效信息&…

Day18学习Java

File - 文件类 File&#xff0c;是文件和目录路径名的抽象表示。 File只关注文件本身的信息&#xff0c;而不能操作文件里面的内容。 File类 – 表示文件或文件夹&#xff0c;不能对文件里的数据进行操作。 对文件里的数据进行操作的是&#xff1a;IO流。 需求1&#xff1a;通…

Unity 权限 之 Android 【权限 动态申请】功能的简单封装

Unity 权限 之 Android 【权限 动态申请】功能的简单封装 目录 Unity 权限 之 Android 【权限 动态申请】功能的简单封装 一、简单介绍 二、Android 权限 动态申请 三、实现原理 四、注意事项 五、案例实现简单步骤 附录&#xff1a; 一、进一步优化 二、多个权限申请…

第三方软件检测机构要具备哪些资质要求?专业测试报告如何申请?

第三方软件检测机构是独立于软件开发商和用户之外的公正机构&#xff0c;负责对软件进行全面的检测和评估。其独立性保证了评测结果的客观性和公正性&#xff0c;有效避免了软件开发商对自身产品的主观偏见和误导。 要成为一家合格的第三方软件检测机构&#xff0c;需要具备一…

网络编程——多进程的服务器

多进程的网络服务器 多进程的网络服务器是一种使用多个进程来处理并发网络请求的服务器架构。在这种架构中&#xff0c;服务器在接收到客户端连接请求后&#xff0c;会创建一个新的子进程来处理该请求&#xff0c;从而允许服务器同时处理多个客户端连接。多进程服务器通常用于…

OKR 实践:来自一位信息技术部主管的成功秘诀

OKR 实践&#xff1a;来自一位信息技术部主管的成功秘诀 为什么选择OKR 公司信息技术部为38个各地分公司、12,000名员工的IT需求提供服务。庞大而多样的客户群常常使我们的团队分散&#xff0c;许多团队都在各自为政&#xff0c;以个案为基础解决问题&#xff0c;而不是采用企业…

线上监控诊断利器:Arthas,你值得拥有

1. 引言 在现代软件开发中&#xff0c;线上监控和诊断是确保应用稳定性和性能的关键环节。然而&#xff0c;对于Java开发者来说&#xff0c;传统的监控工具往往难以深入到代码层面进行实时分析。这正是Arthas这一线上监控诊断工具大展身手的地方。本文将深入探讨Arthas&#x…

LabVIEW高低温试验箱控制系统

要实现LabVIEW高低温试验箱控制系统&#xff0c;需要进行硬件配置、软件设计和系统集成&#xff0c;确保LabVIEW能够有效地监控和控制试验箱的温度。以下是详细说明&#xff1a; 硬件配置 选择合适的试验箱&#xff1a; 确定高低温试验箱的型号和品牌。 确认试验箱是否支持外…

摸鱼大数据——Hive表操作——文件数据的导入和导出

数据导入和导出 1、文件数据导入 1.1 直接上传文件 window页面上传 需求: 已知emp1.txt文件在windows/mac系统,要求使用hdfs保存此文件 并且使用hivesql建表关联数据 use day06; ​ -- 1- 创建Hive表 create table emp1 (id int,name string,salary int,dept string )row for…

基于51单片机的汽车智能灯光控制系统

一.硬件方案 本设计硬件部分&#xff0c;中央处理器采用了STC89C52RC单片机&#xff0c;另外使用两个灯珠代表远近光灯&#xff0c;感光部分采用了光敏电阻&#xff0c;因为光敏电阻输出的是电压模拟信号&#xff0c;单片机不能直接处理模拟信号&#xff0c;所以经过ADC0832进…

基于python flask +pyecharts实现的气象数据可视化分析大屏

背景 气象数据可视化分析大屏基于Python Flask和Pyecharts技术&#xff0c;旨在通过图表展示气象数据的分析结果&#xff0c;提供直观的数据展示和分析功能。在当今信息化时代&#xff0c;气象数据的准确性和实时性对各行业具有重要意义。通过搭建气象数据可视化分析大屏&…

Vue 3 教程:入门指南

Vue 3 教程&#xff1a;入门指南 Vue 3 教程&#xff1a;入门指南 Vue 3 教程&#xff1a;入门指南引言1. 初始化项目2. 响应式数据使用 ref使用 reactive 3. 计算属性4. 侦听器5. 组合式 API6. 总结 引言 Vue.js 是一个用于构建用户界面的渐进式框架。Vue 3 引入了许多新的特…

Qt子线程更新UI的一种新玩法

目录 1. 说明2. 场景3. 子线程更新UI的方法3.1 一般做法3.2 新玩法 1. 说明 Qt不允许子线程直接操作主线程UI&#xff0c;推荐的做法是&#xff0c;子线程发送信号&#xff0c;主线程响应该信号。其最终的效果&#xff0c;依旧不是子线程直接操作主线程UI。 2. 场景 假设现在…

【kubernetes】关于k8s集群如何将pod调度到指定node节点(亲和与反亲和等)

目录 一、调度约束 1.1K8S的 List-Watch 机制 ⭐⭐⭐⭐⭐ 1.1.1Pod 启动典型创建过程 二、调度过程 2.1Predicate&#xff08;预选策略&#xff09; 常见的算法 2.2priorities&#xff08;优选策略&#xff09;常见的算法 三、k8s将pod调度到指定node的方法 3.1指定…

Validated的分组校验和自定义校验注解

1. Validated的分组校验 1.1 简介 Validated的分组校验是指根据不同的校验规则对同一个实体类进行不同的校验。这在实际开发中非常常见&#xff0c;比如在新增和更新操作中&#xff0c;可能有不同的校验规则。 1.2 使用方法 在实体类中&#xff0c;我们可以利用javax.va…

幂等性解决方案

1、幂等性 在计算机中&#xff0c;表示对【同一个过程】应用【相同的参数】多次和应用一次产生的效果是一样&#xff0c;这样的过程即被称为满足幂等性。 幂等&#xff1a; update user set age 25 where user_id2这中情况无论执行多少次&#xff0c;结果都不受影响&#x…

Java | Leetcode Java题解之第103题二叉树的锯齿形层序遍历

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> zigzagLevelOrder(TreeNode root) {List<List<Integer>> ans new LinkedList<List<Integer>>();if (root null) {return ans;}Queue<TreeNode> n…

Go 使用bcrypt实现密码加密和和校验

在Go语言中&#xff0c;使用bcrypt算法进行密码的加密和校验是一种常见的做法&#xff0c;因为bcrypt算法可以提供强大的密码安全性。 bcrypt可以用于数据库中的用户密码保存&#xff0c;相比md5而言更加的安全可靠 文档 https://pkg.go.dev/golang.org/x/crypto/bcrypt 文档…

SYD881X HID工程重连后连接参数没有更新功耗下不来

SYD881X HID工程重连后连接参数没有更新功耗下不来 现在测试到一个问题,第一次连接上的时候过一段时间功耗会下来到100UA以内,这个是正常的,但是关掉手机蓝牙再打开手机蓝牙就发现功耗是500UA左右下不来了! 抓包发现第一次连接和重连的时候手机给的连接参数是一样的: 问题是当…

电力电子技术03 (1)---电路稳态分析方法

学习来源&#xff08;只用于个人学习笔记&#xff0c;建议对着老师视频学习理解更深入&#xff09;&#xff1a;2.2稳态分析的基本方法_哔哩哔哩_bilibili 一、Buck降压电路 Buck电路&#xff0c;也称为降压转换器&#xff0c;是一种DC-DC电压转换器&#xff0c;用于将输入电…