当前位置: 首页 > news >正文

每日两题 / 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;}
};

相关文章:

  • HCIP的学习(24)
  • 数字化学校渠道的建造内容
  • EM算法最通俗理解
  • 【2024最新华为OD-C卷试题汇总】披萨大作战 (100分) - 支持在线评测+三语言AC题解(Python/Java/Cpp)
  • mysql仿照find_in_set写了一个replace_in_set函数,英文逗号拼接字符串指定替换
  • 《广告数据定量分析》读书笔记之理论/概论
  • [面经] 西山居非正式面试(C++)
  • 深入解析力扣166题:分数到小数(模拟长除法与字符串操作详解及模拟面试问答)
  • Nginx网页服务
  • Compose 中的 touch 事件
  • 【全开源】防伪溯源一体化管理系统源码(FastAdmin+ThinkPHP和Uniapp)
  • 【5】:三维到二维变换(模型、视图、投影)
  • 基于异构图的大规模微服务系统性能问题诊断
  • 加密资产私钥安全完整手册(一) ,bitget钱包为例
  • 在已创建的git工程中添加.gitignore
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • CentOS6 编译安装 redis-3.2.3
  • golang 发送GET和POST示例
  • HTML-表单
  • IndexedDB
  • IP路由与转发
  • Java 网络编程(2):UDP 的使用
  • JavaScript创建对象的四种方式
  • JAVA并发编程--1.基础概念
  • SpringBoot几种定时任务的实现方式
  • TCP拥塞控制
  • 分布式任务队列Celery
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 聊聊redis的数据结构的应用
  • 排序算法之--选择排序
  • 再次简单明了总结flex布局,一看就懂...
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • Spring Batch JSON 支持
  • !!java web学习笔记(一到五)
  • #define
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (7)摄像机和云台
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET 设计一套高性能的弱事件机制
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .net中生成excel后调整宽度
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .NET中使用Redis (二)
  • @RequestBody与@ResponseBody的使用
  • [Apio2012]dispatching 左偏树