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.pswp.cn/news/718936.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718936.shtml
英文地址,請注明出處:http://en.pswp.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…