647.回文子串

給你一個字符串 s ,請你統計并返回這個字符串中 回文子串 的數目。

回文字符串 是正著讀和倒過來讀一樣的字符串。

子字符串 是字符串中的由連續字符組成的一個序列。

具有不同開始位置或結束位置的子串,即使是由相同的字符組成,也會被視作不同的子串。

示例 1:

輸入:s = “abc”
輸出:3
解釋:三個回文子串: “a”, “b”, “c”
示例 2:

輸入:s = “aaa”
輸出:6
解釋:6個回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”

提示:

1 <= s.length <= 1000
s 由小寫英文字母組成

ACcode

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

注意的點:

  1. 遍歷順序 自底向上,從左到右
  2. 初始化為false
  3. j-i<=1這種情況,表示邊界,子串的數量分別是1和2
  4. 整個循環內部基于s[i] == s[j]進行討論!即首尾相等的情況下討論。
  5. 布爾類型的dp[i][j]:表示區間范圍[i,j] (注意是左閉右閉)的子串是否是回文子串,如果是dp[i][j]為true,否則為false。

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

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

相關文章

迷你型洗衣機好用嗎?口碑好的四款小型洗衣機推薦

隨著人們的生活水平的提升&#xff0c;越來越多小伙伴來開始追求更高的生活水平&#xff0c;一些智能化的小家電就被發明出來&#xff0c;而且內衣洗衣機是其中一個。現在通過內衣褲感染到細菌真的是越來越多&#xff0c;所以我們對內衣褲的清洗頻次會高于普通衣服&#xff0c;…

輕量封裝WebGPU渲染系統示例<47>- 多種光源(源碼)

當前示例源碼github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/MultiLightsShading.ts 當前示例運行效果: 此示例基于此渲染系統實現&#xff0c;當前示例TypeScript源碼如下: export class MultiLightsShading {private mRscene…

STM32 DAC+串口

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、DAC是什么&#xff1f;二、STM32 DAC1.什么型號有DAC2. 簡介3. 主要特點4. DAC框圖5. DAC 電壓范圍和引腳 三、程序步驟總結 前言 提示&#xff1a;這里可…

Runtime

Runtime 概念&#xff1a; Runtime是一套底層純C語言API&#xff0c;OC代碼最終都會被編譯器轉化為運行時代碼&#xff0c;通過消息機制決定函數調用方式&#xff0c;這也是OC作為動態語言使用的基礎。Runtime的最大特征就是實現了OC語言的動態特性。 消息機制原理 在Objec…

代碼隨想錄27期|Python|Day13|棧與隊列|239. 滑動窗口最大值 (一刷至少需要理解思路)|347.前 K 個高頻元素 (一刷至少需要理解思路)

239. 滑動窗口最大值 單調隊列 滑動窗口中的隊列一直保持出口大&#xff0c;入口小的順序。&#xff08;圖&#xff1a;代碼隨想錄&#xff09; 1、每次有新的元素進入&#xff08;也就是滑動窗口移動后&#xff09;&#xff0c;都需要先和入口的元素比較大小&#xff0c;如果…

BDD100K數據集

官網:BDD100K (vis.xyz)????? 論文&#xff1a;[1805.04687] BDD100K: A Diverse Driving Dataset for Heterogeneous Multitask Learning (arxiv.org) github:bdd100k/bdd100k: Toolkit of BDD100K Dataset for Heterogeneous Multitask Learning - CVPR 2020 Oral Pap…

特發性震顫會導致其他并發癥嗎?

特發性震顫是一種較為常見的神經系統疾病&#xff0c;其主要癥狀是姿勢性震顫&#xff0c;常常在手部開始&#xff0c;并可逐漸累及頭部、下肢等其他部位。雖然特發性震顫的主要癥狀是震顫&#xff0c;但該病也可能導致其他并發癥。下面將詳細介紹特發性震顫可能引起的并發癥。…

靈茶 - 2023 - 12 - 12

鏈接 Problem - 620C - Codeforces 思路 : 貪心 : 對于每一段區間&#xff0c;從前往后貪&#xff0c;如果前面一段區間有重復數字&#xff0c;那么就直接合并成答案的一段區間&#xff0c;然后繼續尋找下一段區間&#xff0c;對于最后一段&#xff0c;如果沒有匹配的話&am…

自定義kafka客戶端消費topic

文章目錄 自定義kafka客戶端消費topic結論1 背景2 spring集成2.1.8.RELEASE版本不支持autoStartup屬性3 自定義kafka客戶端消費topic3.1 yml配置3.2 KafkaConfig客戶端配置3.3 手動啟動消費客戶端 自定義kafka客戶端消費topic 結論 使用自定義的KafkaConsumer給spring進行管理…

人體關鍵點檢測2:Pytorch實現人體關鍵點檢測(人體姿勢估計)含訓練代碼

人體關鍵點檢測2&#xff1a;Pytorch實現人體關鍵點檢測(人體姿勢估計)含訓練代碼 目錄 人體關鍵點檢測2&#xff1a;Pytorch實現人體關鍵點檢測(人體姿勢估計)含訓練代碼 1. 前言 2.人體關鍵點檢測方法 (1)Top-Down(自上而下)方法 (2)Bottom-Up(自下而上)方法&#xff1…

Android - 分區存儲 MediaStore、SAF

官方頁面 參考文章 一、概念 分區存儲&#xff08;Scoped Storage&#xff09;的推出是針對 APP 訪問外部存儲的行為&#xff08;亂建亂獲取文件和文件夾&#xff09;進行規范和限制&#xff0c;以減少混亂使得用戶能更好的控制自己的文件。 公有目錄被分為兩大類&#xff1a;…

會員運營常用的ChatGPT通用提示詞模板

會員體系&#xff1a;如何建立和完善會員體系&#xff1f; 會員等級&#xff1a;如何設定會員等級及權益&#xff1f; 會員留存&#xff1a;如何提高會員留存率&#xff1f; 會員活躍度&#xff1a;如何提高會員活躍度&#xff1f; 會員招募&#xff1a;如何招募新會員&…

ubuntu install sqlmap

refer: https://github.com/sqlmapproject/sqlmap 安裝sqlmap&#xff0c;可以直接使用git 克隆整個sqlmap項目&#xff1a; git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev 2.然后進入sqlmap-dev&#xff0c;使用命令&#xff1a; python s…

靜態代理IP搭建步驟,靜態匿名在線代理IP如何使用?

靜態代理搭建步驟 1. 確定需求 在搭建靜態代理之前&#xff0c;需要明確自己的需求&#xff0c;包括代理服務器的位置、訪問速度、匿名性、安全性等方面的要求。 2. 選擇代理服務器提供商 可以選擇自己購買服務器搭建代理&#xff0c;也可以選擇使用云服務提供商的代理服務…

【Python百寶箱】探索強化學習算法的利器:航行在AI之海的羅盤指南

強化學習的工具寶盒&#xff1a;探索各色瑰寶&#xff0c;點亮智能之旅 前言 人工智能和強化學習正成為推動科技進步的重要力量。在這個領域中&#xff0c;使用適當的庫和工具可以加速算法研發和應用部署的過程。本文將深入探索一系列具有代表性的強化學習庫和工具&#xff0…

有趣的數學 用示例來闡述什么是初值問題二

一、示例 解決以下初值問題。 解決這個初始值問題的第一步是找到一個通用的解決方案。為此&#xff0c;我們找到微分方程兩邊的反導數。 即 我們能夠對兩邊進行積分&#xff0c;因為y項是單獨出現的。請注意&#xff0c;有兩個積分常數&#xff1a;C1和C2。求解前面的方程y給出…

電工--半導體器件

目錄 半導體的導電特性 PN結及其單向導電性 二極管 穩壓二極管 雙極型晶體管 半導體的導電特性 本征半導體&#xff1a;完全純凈的、晶格完整的半導體 載流子&#xff1a;自由電子和空穴 溫度愈高&#xff0c;載流子數目愈多&#xff0c;導電性能就愈好 型半導體&…

28. Python Web 編程:Django 基礎教程

目錄 安裝使用創建項目啟動服務器創建數據庫創建應用創建模型設計路由設計視圖設計模版 安裝使用 Django 項目主頁&#xff1a;https://www.djangoproject.com 訪問官網 https://www.djangoproject.com/download/ 或者 https://github.com/django/django Windows 按住winR 輸…

docker build構建報錯:shim error: docker-runc not installed on system

問題&#xff1a; docker構建鏡像時報錯&#xff1a;shim error: docker-runc not installed on system 解決&#xff1a; ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc

MySQL數據庫——鎖-表級鎖(表鎖、元數據鎖、意向鎖)

目錄 介紹 表鎖 語法 特點 元數據鎖 介紹 演示 意向鎖 介紹 分類 演示 介紹 表級鎖&#xff0c;每次操作鎖住整張表。鎖定粒度大&#xff0c;發生鎖沖突的概率最高&#xff0c;并發度最低。應用在MyISAM、InnoDB、BDB等存儲引擎中。 對于表級鎖&#xff0c;主要…