leetcode22 括號生成-組合型回溯

題目

數字 n 代表生成括號的對數,請你設計一個函數,用于能夠生成所有可能的并且 有效的 括號組合。

示例

輸入:n = 3
輸出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]

解析
func generateParenthesis(n int) []string {m := 2 * nans := []string{}var path []bytevar dfs func(i, left int)dfs = func(i, left int) {if i == m {ans = append(ans, string(path))}if left < n {path = append(path, '(')dfs(i+1, left+1)path = path[:len(path)-1]}if i-left < left {path = append(path, ')')dfs(i+1, left)path = path[:len(path)-1]}}dfs(0, 0)return ans
}

這道題有如下細節需要注意,首先是n代表括號的對數,那么就需要乘以2來計算出左括號+右括號數量之和;在dfs邏輯中,如果左括號的數量小于n,則代表還有可以存左括號的位置;i-left其實就是右括號,右括號的數量小于left,表示還可以添加右括號

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

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

相關文章

Linux下Code_Aster源碼編譯安裝及使用

目錄 軟件介紹 基本依賴 其它依賴 一、源碼下載 二、解壓縮 三、編譯安裝 四、算例運行 軟件介紹 Code_aster為法國電力集團&#xff08;EDF&#xff09;自1989年起開始研發的通用結構和熱力耦合有限元仿真軟件。Code_aster可用于力學、熱學和聲學等物理現象的仿真分析&…

CVPR2022人臉識別Partial FC論文及代碼學習筆記

論文鏈接&#xff1a;https://openaccess.thecvf.com/content/CVPR2022/papers/An_Killing_Two_Birds_With_One_Stone_Efficient_and_Robust_Training_CVPR_2022_paper.pdf 代碼鏈接&#xff1a;insightface/recognition/arcface_torch at master deepinsight/insightface G…

DeepLab V3+: 引入可分離卷積與Decoder網絡

文章目錄 摘要引入深度可分離卷積普通卷積深度卷積,Depthwise點卷積Introduction & Related WorkMethodsEncoder-Decoder with Atrous ConvolutionModified Aligned Xception實驗結果Decoder部分的消融實驗ResNet-101作為backbone

基于lidar的多目標跟蹤

文章目錄 基本流程編譯過程注意事項基本流程 基于雷達點云的目標追蹤主要包括以下幾個步驟: 點云預處理: 濾除噪點和無效點(如NaN值)進行平面分割,提取地面點云對剩余的點云進行聚類,得到可能的目標點云目標檢測 對聚類后的點云進行分析,判斷是否為有效目標可以利用目標的尺寸…

怎么轉換音頻?看這3款音頻轉換器

隨著數字媒體的發展&#xff0c;音頻文件在我們的日常生活中占據了越來越重要的地位。有時候在不同的應用場景里&#xff0c;無論是音樂、語音還是其他類型的音頻內容&#xff0c;我們都需要對其進行轉換以滿足不同的需求。 本文將為您介紹3款常用的音頻轉換器&#xff0c;幫助…

如何讓Linux崩潰?

如何使 Linux 系統崩潰 警告 下面的代碼行是 Bash shell 的一個簡短而甜蜜的 fork 炸彈。分叉炸彈之所以有效&#xff0c;是因為它能夠產生無限數量的進程。最終&#xff0c;Linux無法處理所有這些&#xff0c;并且會崩潰。 fork 炸彈的一大優點是你不需要 root 權限即可執行它…

Springboot+mybatis-plus+dynamic-datasource+繼承DynamicRoutingDataSource切換數據源

Springbootmybatis-plusdynamic-datasource繼承DynamicRoutingDataSource切換數據源 背景 最近公司要求支持saas&#xff0c;實現動態切換庫的操作&#xff0c;默認會加載主租戶的數據源&#xff0c;其他租戶數據源在使用過程中自動創建加入。 解決問題 1.通過請求中設置租…

數據可視化訓練第7天(json文件讀取國家人口數據,找出前10和后10)

數據 https://restcountries.com/v3.1/all&#xff1b;建議下載下來&#xff0c;并不是很大 import numpy as np import matplotlib.pyplot as plt import requests import json #由于訪問url過于慢&#xff1b;將數據下載到本地是json數據 #urlhttps://restcountries.com/v3…

MATLAB蟻群算法求解帶時間窗的旅行商TSPTW問題代碼實例

MATLAB蟻群算法求解帶時間窗的旅行商TSPTW問題代碼實例 蟻群算法編程求解TSPTW問題實例&#xff1a; 在經緯度范圍為(121, 43)到(123, 45)的矩形區域內&#xff0c;散布著1個商家&#xff08;編號1&#xff09;和25個顧客點&#xff08;編號為226&#xff09;&#xff0c;各個…

前端工程化實踐:Monorepo與Lerna管理

前端工程化實踐中&#xff0c;Monorepo&#xff08;單倉庫&#xff09;管理和Lerna是兩種流行的方式&#xff0c;用于大型項目或組件庫的組織和版本管理。 2500G計算機入門到高級架構師開發資料超級大禮包免費送&#xff01; Monorepo簡介 Monorepo&#xff08;單倉庫&#…

web入門練手案例(二)

下面是一下web入門案例和實現的代碼&#xff0c;帶有部分注釋&#xff0c;倘若代碼中有任何問題或疑問&#xff0c;歡迎留言交流~ 數字變色Logo 案例描述 “Logo”是“商標”的英文說法&#xff0c;是企業最基本的視覺識別形象&#xff0c;通過商標的推廣可以讓消費者了解企…

第一個Rust程序

在安裝好Rust以后&#xff0c;我們就可以編寫程序了。 首先&#xff0c;我們執行下面的命令&#xff0c;盡量讓你的rust版本和我的版本相同&#xff0c;或者比我的版本大。 zhangdapengzhangdapeng:~$ cargo --version cargo 1.78.0 (54d8815d0 2024-03-26) zhangdapengzhangd…

C語言(指針)2

Hi~&#xff01;這里是奮斗的小羊&#xff0c;很榮幸各位能閱讀我的文章&#xff0c;誠請評論指點&#xff0c;關注收藏&#xff0c;歡迎歡迎~~ &#x1f4a5;個人主頁&#xff1a;小羊在奮斗 &#x1f4a5;所屬專欄&#xff1a;C語言 本系列文章為個人學習筆記&#x…

聽說SOLIDWORKS科研版可以節約研發成本?

近幾年來&#xff0c;政府越來越重視科研帶動產業&#xff0c;績效優良的產業技術研究院對于國家和地區的學術成果轉化、技術創新、產業發展等具有不可忽視的促進和帶動作用。研究院會承擔眾多新產業的基礎研究工作&#xff0c;而常規的基礎研究需要長期的積累&#xff0c;每個…

JAVA畢業設計141—基于Java+Springboot+Vue的物業管理系統(源代碼+數據庫)

畢設所有選題&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的物業管理系統(源代碼數據庫)141 一、系統介紹 本項目前后端分離&#xff0c;分為管理員、員工、用戶三種角色(角色權限可自行分配) 1、用戶&#xff1a; …

Nginx詳解:高性能HTTP和反向代理服務器

Nginx詳解&#xff1a;高性能HTTP和反向代理服務器 一、引言 Nginx&#xff08;發音為“engine x”&#xff09;是一個開源的高性能HTTP和反向代理服務器&#xff0c;也是一個IMAP/POP3/SMTP代理服務器。由于其出色的性能和穩定性&#xff0c;Nginx已經成為互聯網上最受歡迎的…

asp.net結課作業中遇到的問題解決4

目錄 1、vs2019每次運行一次項目之后&#xff0c;樣式表的格式就算在vs2019上改變了&#xff0c;在瀏覽器中顯示的還是以前的樣式&#xff0c;所以應該如何修改 2、如何實現選擇下拉框之后&#xff0c;顯示所選擇的這個類型的書籍的名稱 3、如何實現點擊首頁顯示的書籍&#…

高清模擬視頻采集卡CVBS四合一信號采集設備解析

介紹一款新產品——LCC261高清視頻采集與編解碼一體化采集卡。這款高品質的產品擁有卓越的性能表現和豐富多樣的功能特性&#xff0c;能夠滿足廣大用戶對于高清視頻采集、處理以及傳輸的需求。 首先&#xff0c;讓我們來了解一下LCC261的基本信息。它是一款基于靈卡技術研發的高…

Shell三劍客之sed

前言&#xff1a; Shell三劍客是grep、sed和awk三個工具的簡稱,因功能強大&#xff0c;使用方便且使用頻率高&#xff0c;因此被戲稱為三劍客&#xff0c;熟練使用這三個工具可以極大地提升運維效率。 sed是一個流編輯器&#xff0c;用于對文本進行編輯、替換、刪除等操作。sed…

LeetCode2095刪除鏈表的中間節點

題目描述 給你一個鏈表的頭節點 head 。刪除 鏈表的 中間節點 &#xff0c;并返回修改后的鏈表的頭節點 head 。長度為 n 鏈表的中間節點是從頭數起第 ?n / 2? 個節點&#xff08;下標從 0 開始&#xff09;&#xff0c;其中 ?x? 表示小于或等于 x 的最大整數。對于 n 1、…