leetcode括號生成

題目描述

在這里插入圖片描述

解題思路

首先看到題目,一開始是并沒有思路的。這時候可以在紙上進行演算一下結果。當只有一對括號的時候,我們可以得知結果[“()”],當有兩對括號的時候,我們可以發現,括號在第一個基礎上,要么在括號內部出現,要么在括號外部出現。用公式來表達就是(+p+)+q。p和q代表的是一對括號可能存在的地方。以此類推,當有n對括號的時候,假設p=i,q=n-i-1。這時候大家應該知道這題目是怎么一回事了,這時候就是需要我們實現這一個過程。首先,我們需要定義一個列表,這個列表中存放著所有的括號存在的情況,下標就代表第i個括號對對應的情況。具體如下:
首先檢查輸入的 n 是否為 0,如果是,則直接返回一個空列表 [],因為在這種情況下無法生成有效的括號組合。

初始化一個列表 result,用于存儲不同組合情況下的括號序列。首先將空字符串 “” 和單對括號 () 分別作為 n=0 和 n=1 時的初始情況加入到 result 中。

接下來,對于 n 從 2 到輸入的 n 的范圍進行循環,依次生成包含 n 對括號的有效括號組合。

在每一輪循環中,通過兩個嵌套的循環,分別遍歷內部括號和外部括號的組合情況。對于每一對內外括號組合,將內部括號組合和外部括號組合進行組合,形成新的括號序列,并將這些新的括號序列添加到 new_combinations 列表中。

將生成的新的括號序列列表 new_combinations 添加到 result 中,以便在下一輪循環中使用。

最后,返回 result[n],即包含 n 對括號的有效括號組合列表

代碼如下

from typing import Listclass Solution:def generateParenthesis(self, n: int) -> List[str]:if n == 0:return []result = []result.append([""])  # 初始化n=0和n=1時的情況result.append(["()"])for i in range(2, n + 1):new_combinations = []for j in range(i):inside = result[j]outside = result[i - 1 - j]for inside_str in inside:for outside_str in outside:new_combinations.append("(" + inside_str + ")" + outside_str)result.append(new_combinations)return result[n]

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

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

相關文章

靜態時序分析:SDC約束命令set_case_analysis詳解

相關閱讀 靜態時序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 目錄 指定值 指定端口/引腳列表 簡單使用 set_case_analysis命令用于對電路進行特定模式的設定,例如對于一個工作在正常模式下的芯片,…

HTML5新特性:為Web帶來的翻天覆地變化

隨著互聯網的發展,HTML5作為Web開發的重要里程碑,為我們帶來了一系列令人興奮的新特性和功能。本文將帶領大家探索HTML5的新特性,揭示其對Web技術的巨大影響。 一、介紹 HTML5作為HTML的最新版本,不僅強化了網頁結構與內容&#…

Android 解決引入的三方庫中類名沖突問題

參考: Android開發——如何解決三方庫中的類名沖突問題_android 類沖突-CSDN博客 Android 解決 jar/aar 包類名沖突 - 簡書 實操步驟 1.提前安裝好unzip-5.51-bin,proguard-7.4.0,jarjar-1.4軟件 2.解壓包名沖突的 AAR 文件 進入到需要修…

reach功能的使用

1.reach添加后 1.reach添加后2 2.拷貝reach最后一幀的動作 3.刪除reach(注意畫選時如果reach延長不能直接刪否則以前的動畫也會刪掉,要縮短reach后再刪另外這兩個灰原點也要刪掉否則影響后邊新加clip的對齊會出現亂七八糟的事情) 4.刪除reach后,光標移到…

收藏:數據防泄漏系統推薦,數據防泄漏系統有哪些?

一金融機構在近期發生了一起數據泄露事件。 經過調查,發現是由于一名員工將包含客戶敏感信息的文件通過電子郵件發送給了未經授權的第三方。 這一事件導致客戶數據泄露,給該機構帶來了嚴重的聲譽損失和信任危機。 這一案例凸顯了數據防泄漏系統的重要性…

Neo4j aura 官方網站快速入門新手教精讀-從官方教程學習知識圖譜

Neo4j 官方網站快速入門新手教精讀 本文旨在為Neo4j新手提供一份全面的入門指南。除了基礎的文本解釋,我在里面還插入了每一步驟的詳細截圖或者自己畫的圖,從官方了解知識肯定比自己亂看要權威一些,有看不懂的不要糾結了解大概意思即可&#…

Java中心校智慧校園智慧班牌物聯網平臺源碼

目錄 智慧班牌 班牌首頁 班級信息 課表信息 視頻 圖片 進離校管理 人臉登錄頁 學生個人中心 請假管理 成績管理 家長留言 學生綁卡 學生評價 系統設置 通知管理 值日管理 倒計時 班級德育 班牌模式 1.課堂授課模式 2.家長會簽到模式 3.考場模式 4.班級…

React富文本編輯器開發(一)

這是一個系統的完整的教程,每一節文章的內容都很重要。這個教程學完后自己可以開發出一個相當完美的富文本編輯器了。下面就開始我們今天的內容: 安裝 是的,我們的開發是基于Slate的開發基礎,所以要安裝它: yarn ad…

【貪心算法】Leetcode 122. 買賣股票的最佳時機 II

【貪心算法】Leetcode 122. 買賣股票的最佳時機 II 122. 買賣股票的最佳時機 II貪心算法:整體利潤拆為每天的利潤,只收集每天的正利潤 122. 買賣股票的最佳時機 II ---------------🎈🎈122. 買賣股票的最佳時機 II 題目鏈接&…

【Excel PDF 系列】EasyExcel + iText 庫實現 Excel 轉換 PDF

你知道的越多,你不知道的越多 點贊再看,養成習慣 如果您有疑問或者見解,歡迎指教: 企鵝:869192208 文章目錄 前言轉換前后效果引入 pom 配置代碼實現定義 ExcelDataVo 對象主方法EasyExcel 監聽器 前言 最近遇到生成 …

圖論 - 最小生成樹(Prime、Kruskal)

文章目錄 前言Part 1:Prim算法求最小生成樹1.題目描述輸入格式輸出格式數據范圍輸入樣例輸出樣例 2.算法 Part 2:Kruskal算法求最小生成樹1.題目描述輸入格式輸出格式數據范圍輸入樣例輸出樣例 2.算法 前言 本篇博客介紹兩種求最小生成樹的方法&#xff…

遼寧博學優晨教育視頻:引領安全可靠的學習新風尚

在數字化時代,隨著信息技術的飛速發展,線上教育已成為越來越多人提升自我、拓寬視野的重要選擇。遼寧博學優晨教育視頻憑借其安全可靠的特質,在眾多在線教育平臺中脫穎而出,成為廣大學子信賴的學習伙伴。 一、遼寧博學優晨教育視頻…

MagiskHideProps 使用 props 開啟 android 手機的 ro.debuggable =1 的方法

因為 CDSN 一直不給對舊的文章(特別是邊幅比較長的文章)一直都無法修改,保存,重新發布 一直都是操作超時 我這里是補全 這邊文章中 unity shader - 圣斗士星矢 人物 shader 還原 - GPA 抓幀提取資源、shader,ROOT權…

python 使用curl_cffi 繞過jax3指紋-Cloudflare 5s盾

現在越來越多的網站已經能夠通過JA3或者其他指紋信息,來識別你是不是爬蟲了。傳統的方式比如換UA,加代理是沒有任何意義了,所以這個時候我們就需要使用到curl_cffi 了。 1.TLS 指紋是啥? 在絕大多數的網站都已經使用了 HTTPS&am…

構造pop鏈

反序列化視頻筆記 第一步:找到目標觸發echo調用$flag 第二步:觸發_invoke函數調用appeng函數$varflag.php(把對象當成函數) 第三步:給$p賦值為對象,即function成為對象Modifier卻被當成函數調用&#xff…

加密與安全_探索口令加密算法(PBE)

文章目錄 概述疑問PBE 算法 ( Password Based Encryption)CodePOM實現 小結 概述 加密與安全_探索對稱加密算法中我們提到AES加密密鑰長度是固定的128/192/256位,而不是我們用WinZip/WinRAR那樣,隨便輸入幾位都可以。 這是因為對…

2024最新算法:斑翠鳥優化算法(Pied Kingfisher Optimizer ,PKO)求解23個基準函數

一、斑翠鳥優化算法 斑翠鳥優化算法(Pied Kingfisher Optimizer ,PKO),是由Abdelazim Hussien于2024年提出的一種基于群體的新型元啟發式算法,它從自然界中觀察到的斑翠鳥獨特的狩獵行為和共生關系中汲取靈感。PKO 算法圍繞三個不…

【Ubuntu操作系統】講解

Ubuntu操作系統 1. 前言2. 系統更新3. 安裝編譯工具4. 安裝文本編輯器4.1 Vim4.2 Visual Studio Code 5. 安裝開發庫6. 安裝版本控制系統6.1 Git 7. 安裝數據庫7.1 MySQL7.2 PostgreSQL 8. 安裝編程語言環境8.1 Python8.2 Node.js 9. 安裝其他常用軟件9.1 Chrome瀏覽器9.2 Dock…

MySQL數據庫引擎,以及常用引擎的區別

先看圖: mysql常用引擎包括:MYISAM、Innodb、Memory、MERGE MYISAM: 全表鎖,擁有較高的執行速度,不支持事務,不支持外鍵,并發性能差,占用空間相對較小,對事務完整性沒有…

SpringBoot整合rabbitmq-主題交換機隊列(四)

說明:Topic主題交換機它的大致流程是交換機和一個或者多個隊列綁定,這個綁定的Routingkey是包含通配符的,滿足通配符的隊列會接收到消息。 通配符規則: #:匹配一個或多個詞 *:匹配一個詞 例如&#xff…