代碼隨想錄day46dp13

647. 回文子串

題目鏈接
文章講解
回溯法

class Solution {
public:int count = 0;// 檢查字符串是否是回文bool isPalindrome(string& s, int start, int end) {while (start < end) {if (s[start] != s[end]) return false;start++;end--;}return true;}// 回溯法,嘗試從每個位置生成子串void backtrack(string& s, int start) {int n = s.size();for (int end = start; end < n; end++) {if (isPalindrome(s, start, end)) {  // 如果是回文count++;  // 增加回文子串的計數}}}int countSubstrings(string s) {int n = s.size();for (int i = 0; i < n; i++) {backtrack(s, i);  // 從每個字符開始,回溯生成子串}return count;}
};

暴力

class Solution {
public:int count = 0;// 檢查字符串是否是回文bool isPalindrome(string& s, int start, int end) {while (start < end) {if (s[start] != s[end]) return false;start++;end--;}return true;}int countSubstrings(string s) {int n = s.size();for (int i = 0; i < n; i++) {for(int j=i;j<n;j++){if(isPalindrome(s,i,j))count++;}}return count;}
};

dp

class Solution {
public:int countSubstrings(string s) {vector<vector<bool>> dp(s.size(), vector<bool>(s.size(), false));int result = 0;for (int i = s.size() - 1; i >= 0; i--) {  // 注意遍歷順序for (int j = i; j < s.size(); j++) {if (s[i] == s[j]) {if (j - i <= 1) { // 情況一 和 情況二result++;dp[i][j] = true;} else if (dp[i + 1][j - 1]) { // 情況三result++;dp[i][j] = true;}}}}return result;}
};

516.最長回文子序列

題目鏈接
文章講解
在這里插入圖片描述

class Solution {
public:int longestPalindromeSubseq(string s) {int n=s.size();vector<vector<int>> dp(n,vector<int>(n,0));for(int i=0;i<n;i++) dp[i][i]=1;for(int i=n-1;i>=0;i--){for(int j=i+1;j<n;j++){if(s[i]==s[j]) dp[i][j]=dp[i+1][j-1]+2;else dp[i][j]=max(dp[i+1][j],dp[i][j-1]);}}return dp[0][n-1];}
};

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90638.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90638.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90638.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習隨筆錄

#61 學習隨筆錄 今日的思考 &#xff1a; 反思一下學習效率低下 不自律 或者 惰性思維 懶得思考 又或者 好高婺遠 頂級自律從不靠任何意志力&#xff0c;而在于「平靜如水的野心」_嗶哩嗶哩_bilibili 然后上面是心靈雞湯合集 vlog #79&#xff5c;程序員遠程辦公的一天…

python-函數進階、容器通用方法、字符串比大小(筆記)

python數據容器的通用方法#記住排序后容器類型會變成list容器列表 list[1,3,5,4,6,7] newListsorted(list,reverseTrue) print(newList) [7, 6, 5, 4, 3, 1]list[1,3,5,4,6,7] newListsorted(list,reverseFalse) print(newList) [1, 3, 4, 5, 6, 7]字典排序的是字典的key字符串…

關閉chrome自帶的跨域限制,簡化本地開發

在開發時為了圖方便,簡化本地開發,懶得去后端配置允許跨域,那就可以用此方法1. 右鍵桌面上的Chrome瀏覽器圖標&#xff0c;選擇“創建快捷方式”到桌面。2. 在新創建的快捷方式的圖標上右鍵&#xff0c;選擇“屬性”。3. 在彈出窗口中的“目標”欄中追加&#xff1a; --allow-r…

C++___快速入門(上)

第一個C程序#include<iostream> using namespace std; int main() {cout << "hello world !" << endl;return 0; }上邊的代碼就是用來打印字符串 “hello world !” 的&#xff0c;可見&#xff0c;與C語言還是有很大的差別的&#xff0c;接下來我…

構建企業級Docker日志驅動:將容器日志無縫發送到騰訊云CLS

源碼地址:https://github.com/k8scat/docker-log-driver-tencent-cls 在現代云原生架構中,容器化應用已經成為主流部署方式。隨著容器數量的快速增長,如何高效地收集、存儲和分析容器日志成為了一個關鍵挑戰。傳統的日志收集方式往往存在以下問題: 日志分散在各個容器中,難…

Kafka——消費者組重平衡能避免嗎?

引言 其實在消費者組到底是什么&#xff1f;中&#xff0c;我們講過重平衡&#xff0c;也就是Rebalance&#xff0c;現在先來回顧一下這個概念的原理和用途。它是Kafka實現消費者組&#xff08;Consumer Group&#xff09;彈性伸縮和容錯能力的核心機制&#xff0c;卻也常常成…

使用爬蟲獲取游戲的iframe地址

如何通過爬蟲獲取游戲的iframe地址要獲取網頁中嵌入的游戲的iframe地址&#xff08;即iframe元素的src屬性&#xff09;&#xff0c;您可以使用網絡爬蟲技術。iframe是HTML元素&#xff0c;用于在當前頁面中嵌入另一個文檔&#xff08;如游戲頁面&#xff09;&#xff0c;其地址…

NTLite Ent Version

NTLite是一款專業的系統安裝鏡像制作工具&#xff0c;通過這款軟件可以幫助用戶快速生成鏡像文件打好補丁&#xff0c;很多朋友在安裝電腦系統的時候一般都安裝了windows系統的所有Windows組件&#xff0c;其實有很多Windows組件你可能都用到不到&#xff0c;不如在安裝系統時就…

Maven之依賴管理

Maven之依賴管理一、Maven依賴管理的核心價值二、依賴的基本配置&#xff08;坐標與范圍&#xff09;2.1 依賴坐標&#xff08;GAV&#xff09;2.2 依賴范圍&#xff08;scope&#xff09;示例&#xff1a;常用依賴范圍配置三、依賴傳遞與沖突解決3.1 依賴傳遞性示例&#xff1…

【Unity實戰100例】Unity資源下載系統開發流程詳解(移動端、PC端 ,局域網控制臺服務)

目錄 一、項目概述 二、服務器開發 1、配置文件設計 1、加載配置 2. 處理客戶端請求 3. 文件下載處理 三、客戶端開發 1、配置管理 1、配置加載與保存 2、下載任務管理 1、任務類設計 2、下載隊列管理 3、核心下載流程 四、UI系統實現 五、部署與測試 1、服務…

[Python] -進階理解7- Python中的內存管理機制簡析

Python(尤其是 CPython)采用自動內存管理機制,核心包括引用計數(Reference Counting)與垃圾回收機制(Garbage Collection),并配合專門的內存池和分配器機制來提升效率與減少碎片。 這套機制隱藏在開發者視線之外,Python 開發者無需手動申請或釋放內存。 二、Python 內…

云祺容災備份系統AWS S3對象存儲備份與恢復實操手冊

1、創建密鑰訪問AWS控制臺&#xff0c;鼠標移至右上角賬戶處&#xff0c;在彈出菜單中點擊安全憑證&#xff0c;如圖1。圖1在彈出頁面中&#xff0c;下滑找到訪問密鑰&#xff0c;并點擊創建訪問密鑰&#xff0c;如圖2。圖2選擇其他&#xff0c;并點擊下一步&#xff0c;如圖3。…

使用 LLaMA 3 8B 微調一個 Reward Model:從入門到實踐

本文將介紹如何基于 Meta 的 LLaMA 3 8B 模型構建并微調一個 Reward Model&#xff0c;它是構建 RLHF&#xff08;基于人類反饋的強化學習&#xff09;系統中的關鍵一環。我們將使用 Hugging Face 的 transformers、trl 和 peft 等庫&#xff0c;通過參數高效微調&#xff08;L…

matrix-breakout-2-morpheus靶場攻略

靶場使用將壓縮包解壓到一個文件夾中&#xff0c;用虛擬機應用新建虛擬機&#xff0c;掃描虛擬機&#xff0c;掃描那個文件夾&#xff0c;就可以把虛擬機掃出來了&#xff0c;然后啟動虛擬機這時候靶場啟動后&#xff0c;咱們現在要找到這個靶場。靶場是網頁形式的&#xff0c;…

MySQL 復制表

MySQL 復制表 概述 在數據庫管理中&#xff0c;復制表是一項常用的操作。它允許數據庫管理員將一個表中的數據復制到另一個表中&#xff0c;無論是同一個數據庫還是不同的數據庫。MySQL數據庫提供了多種方法來復制表&#xff0c;本文將詳細介紹MySQL復制表的過程、方法及其應用…

『哈哥贈書 - 55期』-『碼農職場:IT人求職就業手冊』

文章目錄?? 碼農職場&#xff1a;IT人求職就業手冊?? 本書簡介?? 作者簡介?? 編輯推薦這是一本專為廣大IT行業求職者量身定制的指南&#xff0c;提供了從職前準備到成功就業的全方位指導&#xff0c;涵蓋了職業目標規劃、自我技能評估、求職策略、簡歷準備以及職場心理…

單片機學習課程

單片機學習課程 課程介紹 單片機技術作為現代工業自動化、電子電氣、通信及物聯網等領域的主流技術&#xff0c;早已深度融入我們生活與生產的各個角落。從常見家電到自動化公共設施&#xff0c;都離不開單片機的支持。同時&#xff0c;它也是學習 ARM 嵌入式系統、FPGA 設計等…

【AcWing 143題解】最大異或對

AcWing 143. 最大異或對 【題目描述】 在查看解析之前&#xff0c;先給自己一點時間思考哦&#xff01; 【題解】 本題要求給定一個整數序列&#xff0c;找出其中任意兩個數進行異或運算后&#xff0c;結果的最大值是多少。由于數據規模較大&#xff0c;我們不能簡單地通過兩…

SQLAlchemy 2.0簡單使用

記錄一下SQLAlchemy 2.0連接mysql數據庫的方法及簡單使用 環境及依賴 Python:3.8 mysql:8.3 Flask:3.0.3 SQLAlchemy:2.0.37 PyMySQL:1.1.1使用步驟 1、創建引擎&#xff0c;鏈接到mysql engine create_engine(mysqlpymysql://{username}:{password}{ip}:3306/{database_name}…

如何創建或查看具有 repo 權限的 GitHub 個人訪問令牌(PAT)

要創建或查看具有 repo 權限的 GitHub 個人訪問令牌(PAT),請按照以下步驟操作: 一、生成具有 repo 權限的 PAT 登錄 GitHub 訪問 GitHub 官網,使用你的賬戶登錄。 進入開發者設置 點擊右上角頭像,選擇 Settings(設置) → 左側菜單中選擇 Developer settings(開發者設…