leetcode-回溯法-字符串分割问题

131. 分割回文串

#include<vector>
#include<iostream>
#include<queue>
using namespace std;class Solution {
public:
vector<string> path_;
vector<vector<string>> res_;vector<vector<string>> partition(string s) {bt(s, 0);return res_;}// 11:10void bt(const string& s, int start_idx) {if (start_idx >= s.size()) { res_.push_back(path_);return; // 写不写return都可以,因为下面是bt(s,i+1),不会无限循环}for (int i = start_idx; i < s.size(); i++) {string sub_s = s.substr(start_idx, i - start_idx + 1);if (valid(sub_s)) {path_.push_back(sub_s);bt(s, i + 1); // bug, i+1又写成了start_idx!!好几道题都是这里出错的path_.pop_back();}}}bool valid(const string& str) {if (str.size() == 1) {return true;}int s = 0;int e = str.size() - 1;while(s < e) {if (str[s++] != str[e--]) {return false;}}return true;}
};int main() {Solution s;auto res = s.partition("aab");for (auto vs : res) {for (auto s: vs) {std::cout<<s<<" ";}std::cout<<endl;}
}

剑指offer-46. 把数字翻译成字符串

#include <iostream>
#include <vector>
#include <string>
using namespace std;class Solution {
public:
vector<string> path_;
vector<vector<string>> res_;int f(int num) {string num_str = to_string(num);bt(num_str, 0);return res_.size();
}
void bt(const string& num_str, int start_idx){if (start_idx >= num_str.size()) {res_.push_back(path_);return;}for (int i = start_idx; i < num_str.size(); i++) {auto sub_str = num_str.substr(start_idx, i - start_idx + 1);if (sub_str.size() <=2 && stoi(sub_str) <=26 && stoi(sub_str) >=0) { // 只有这里的valid条件和上面的不一样,其他都一样。path_.push_back(sub_str);bt(num_str, i + 1);path_.pop_back();}}
}
};int main() {Solution s;int a, b;while (cin >> a) { // 注意 while 处理多个 casecout << s.f(a) << endl;}}
// 64 位输出请用 printf("%lld")

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

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

相关文章

pytorch(四)用pytorch实现线性回归

文章目录 代码过程准备数据设计模型设计构造函数与优化器训练过程训练代码和结果pytorch中的Linear层的底层原理&#xff08;个人喜欢&#xff0c;不用看&#xff09;普通矩阵乘法实现Linear层实现 回调机制 代码过程 训练过程&#xff1a; 准备数据集设计模型&#xff08;用来…

国图公考:山东事业编考试即将开始

山东事业编考试时间为2024年3月10日-9.00-11.30分 考试科目为公基写作 准考证打印时间为2024年3月5日9.00-3月10日9.30分 准考证打印入口&#xff1a;山东考试信息网 综合类笔试在全省十六市均设置考点&#xff0c;参加考试的考生可凭借准考证和本人身份证参加笔试

Python爬虫实战(基础篇)—13获取《人民网》【最新】【国内】【国际】写入Word(附完整代码)

文章目录 专栏导读背景测试代码分析请求网址请求参数代码测试数据分析利用lxml+xpath进一步分析将获取链接再获取文章内容测试代码写入word完整代码总结专栏导读 🔥🔥本文已收录于《Python基础篇爬虫》 🉑🉑本专栏专门针对于有爬虫基础准备的一套基础教学,轻松掌握Py…

第 2 个 Java Web 应用工程(JSP JavaBean DB)(含源码)(图文版)

JavaBean 是一种符合特定约定的 Java 类&#xff0c;通常用于在 Java 应用程序中封装数据以及提供对数据的访问和修改方法。 本文示例&#xff1a;建立一个 Tomcat 工程&#xff0c;编写一个 JSP 页面&#xff0c;调用 JavaBean 访问数据库并显示到页面上&#xff0c;发布到 T…

【开源物联网平台】物联网设备上云提供开箱即用接入SDK

一、项目介绍 IOTDeviceSDK是物联网平台提供的设备端软件开发工具包&#xff0c;可简化开发过程&#xff0c;实现设备快速接入各大物联网平台。 设备厂商获取SDK后&#xff0c;根据需要选择相应功能进行移植&#xff0c;即可快速集成IOTDeviceSDK&#xff0c;实现设备的接入。…

gradle中设置变量,在代码中读取

在app的gradlew文件中设置变量appModelCode&#xff0c;设置manifestPlaceholders android {def appModelCode 1 //1:模式1 2:模式2def appModelName "model1"if (appModelCode 1) {...}defaultConfig {applicationId appIdminSdk 26targetSdk 32versionCode app…

音视频数字化(视频线缆与接口)

目录 1、DVI接口 2、DP接口 之前的文章【音视频数字化(线缆与接口)】提到了部分视频线缆,今天再补充几个。 视频模拟信号连接从莲花头的“复合”线开始,经历了S端子、色差分量接口,通过亮度、色度尽量分离的办法提高画面质量,到VGA已经到了模拟的顶峰,实现了RGB的独立…

android 推荐一个上拉加载更多,下拉刷新的框架(非常好用)

作者&#xff1a;scwang 大神 GitHub - scwang90/SmartRefreshLayout: &#x1f525;下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll&#xff0c;Android智能下拉刷新框架&#xff0c;支持越界回弹、越界拖动&#xff0c;具有极强的扩展性&#xff0c;…

一文读懂Penpad 以 Fair Launch 方式推出的首个资产 PEN

随着 2 月 28 日比特币重新站上 6 万美元的高峰后&#xff0c;标志着加密市场正在进入新一轮牛市周期。在 ETF 的促进作用下&#xff0c;加密市场不断有新的资金流入&#xff0c;加密货币总市值不断攀升。Layer2 市场率先做出了反应&#xff0c;有数据显示&#xff0c;当前以太…

2020PAT--冬

The Closest Fibonacci Number The Fibonacci sequence Fn​ is defined by Fn2​Fn1​Fn​ for n≥0, with F0​0 and F1​1. The closest Fibonacci number is defined as the Fibonacci number with the smallest absolute difference with the given integer N. Your job…

Spring初始(相关基础知识和概述)

Spring初始&#xff08;相关基础知识和概述&#xff09; 一、Spring相关基础知识&#xff08;引入Spring&#xff09;1.开闭原则OCP2.依赖倒置原则DIP3.控制反转IoC 二、Spring概述1.Spring 8大模块2.Spring特点2.Spring的常用jar文件 一、Spring相关基础知识&#xff08;引入S…

除微信视频号下载器还有哪些可以应用可以下载视频?

市面上有很多视频号下载器&#xff0c;但犹豫部分视频号下载器逐步失效&#xff0c;就有很多小伙伴问还有哪些可以应用可以下载视频&#xff1f; 视频下载助手 除视频号视频下载器以外&#xff0c;还有【视频号下载助手】简称&#xff1a;视频下载助手 比如说&#xff0c;抖音…

spring cloud 之 Netflix Eureka

1、Eureka 简介 Eureka是Spring Cloud Netflix 微服务套件中的一个服务发现组件&#xff0c;本质上是一个基于REST的服务&#xff0c;主要用于AWS云来定位服务以实现中间层服务的负载均衡和故障转移,它的设计理念就是“注册中心”。 你可以认为它是一个存储服务地址信息的大本…

18个惊艳的可视化大屏(第14辑):能源行业应用

能源行业涉及能源生产、转化、储存、输送和使用的各个领域和环节&#xff0c;包括石油和天然气行业、煤炭行业、核能行业、可再生能源行业和能源服务行业&#xff0c;本期贝格前端工场带来能源行业可视化大屏界面供大家欣赏。 能源行业的组成 能源行业是指涉及能源生产、转化、…

Android 11.0 禁止系统界面下拉状态栏和通知栏 手机 平板 车载 TV 投影 通用

1、禁止systemUI下拉状态栏和通知栏的核心代码部分 framework/base/packages/apps/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java framework/base/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.jav…

数字化转型导师坚鹏:金融机构数字化运营

金融机构数字化运营 课程背景&#xff1a; 很多金融机构存在以下问题&#xff1a; 不清楚数字化运营对金融机构发展有什么影响&#xff1f; 不知道如何提升金融机构数字化运营能力&#xff1f; 不知道金融机构如何开展数字化运营工作&#xff1f; 课程特色&#xff1a;…

盘点全网哪些超乎想象的高科技工具?有哪些免费开源的最新AI智能工具?短视频自媒体运营套装?

盘点全网哪些超乎想象的高科技工具&#xff1f;有哪些免费开源的最新AI智能工具&#xff1f;短视频自媒体运营套装&#xff1f; 自媒体主要用来干什么&#xff1f; 可以通过短视频吸引更多的观众和粉丝&#xff0c;提升自媒体账号的影响力和知名度。 短视频形式更加生动、直观…

使用C++界面框架ImGUI开发一个简单程序

简介 ImGui 是一个用于C的用户界面库&#xff0c;跨平台、无依赖&#xff0c;支持OpenGL、DirectX等多种渲染API&#xff0c;是一种即时UI&#xff08;Immediate Mode User Interface&#xff09;库&#xff0c;保留模式与即时模式的区别参考保留模式与即时模式。ImGui渲染非常…

关于企业数字化转型:再认识、再思考、再出发

近年来&#xff0c;随着国家数字化政策不断出台、新兴技术不断进步、企业内生需求持续释放&#xff0c;数字化转型逐步成为企业实现高质量发展的必由之路&#xff0c;成为企业实现可持续发展乃至弯道超车的重要途径。本文重点分析当下阻碍企业数字化转型的难点&#xff0c;提出…

SPC 之 I-MR 控制图

概述 1924 年&#xff0c;美国的休哈特博士应用统计数学理论将 3Sigma 原理运用于生产过程中&#xff0c;并发表了 著名的“控制图法”&#xff0c;对产品特性和过程变量进行控制&#xff0c;开启了统计过程控制新时代。 什么是控制图 控制图指示过程何时不受控制&#xff…