[代碼隨想錄21回溯]組合問題,電話號碼的字母組合問題

前言

?回溯的提出是解決循環問題,回溯的提出就是為了解決排列和組合問題,以及多層遍歷問題,因為如果遍歷的層數越多我們的效率就會越低,回溯加上剪枝能很好解決這個問題。

題目鏈接

77. 組合 - 力扣(LeetCode)

216. 組合總和 III - 力扣(LeetCode)

17. 電話號碼的字母組合 - 力扣(LeetCode)

一、組合

?思路:規定一個路徑集合,和一個結果集合,用if去判斷路徑,用for循環去橫向和縱向去加載路徑。

剪枝優化的思路:去除掉無效的長度。

private:vector<vector<int>> res;vector<int>path;void backtrancing(int n,int k,int startIndex){if(path.size()==k){res.push_back(path);return;}for(int i=startIndex;i<=n;i++){path.push_back(i);backtrancing(n,k,i+1);path.pop_back();}}
public:vector<vector<int>> combine(int n, int k) {backtrancing(n,k,1);return res;}
private:vector<vector<int>> res;vector<int>path;void backtrancing(int n,int k,int startIndex){if(path.size()==k){res.push_back(path);return;}//剪枝優化一下for(int i=startIndex;i<=n-(k-path.size())+1;i++){path.push_back(i);backtrancing(n,k,i+1);path.pop_back();}}
public:vector<vector<int>> combine(int n, int k) {backtrancing(n,k,1);return res;}

?

二、組合總和

?思路:

三、電話號碼的字母組合

思路:

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

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

相關文章

智能工廠的設計軟件 三種處理單元(NPU/GPU/CPU)及其在深度學習框架中的作用 之2

本文要點 分類學 利用NPU、GPU和CPU的分工協作&#xff0c;實現 一個信息系統架構中的靈活的模塊化框架&#xff0c;該框架使用一個類似元素周期表的分類法&#xff0c;將 該元素周期表 左邊的行矢&#xff08;時間關系&#xff0c;由應用規格 約束&#xff09; 、頂上的列簇…

幾款主流的超聲波流量計應用場景梳理

清水應用 這款 聲樂 在含有最少固體或曝氣&#xff08;≤ 1-2%&#xff09;的清潔水的情況下表現出色。該儀表融合了卓越的性能和經濟性&#xff0c;使其成為需要外夾式超聲波流量計的應用的理想選擇。它在市政水處理設施中特別有效&#xff0c;其精度和成本效益確保了最佳運行…

Flag 驗證器

Flag 驗證器使用教程 Flag 驗證器 是一種常用工具&#xff0c;用來驗證命令行參數或配置文件中的標志&#xff08;flag&#xff09;是否符合預期規則。這些工具可以幫助開發者確保傳入的參數滿足一定的條件&#xff0c;避免因參數錯誤而導致程序運行失敗。以下是對各個驗證器功…

二進制分析的新興趨勢:塑造安全的移動應用

在當今快速發展的數字世界中&#xff0c;保障移動應用的安全性變得尤為重要。隨著移動技術的廣泛應用&#xff0c;安全性需求也日益增強。二進制分析作為確保移動應用安全和合規性的重要手段&#xff0c;通過對已編譯的應用進行深入分析&#xff0c;能夠發現源代碼中難以察覺的…

Python:動態粒子愛心

預覽 代碼結構概述 這段代碼使用了 pygame 庫來創建一個動態的圖形窗口&#xff0c;繪制一個心形圖案&#xff0c;并在其中顯示閃爍的文本。代碼主要分為以下幾個部分&#xff1a; 初始化和設置心形曲線的計算粒子類的定義生成粒子文本設置主循環 1. 初始化和設置 import p…

React源碼02 - 基礎知識 React API 一覽

1. JSX到JavaScript的轉換 <div id"div" key"key"><span>1</span><span>2</span> </div>React.createElement("div", // 大寫開頭會當做原生dom標簽的字符串&#xff0c;而組件使用大寫開頭時&#xff0c;這…

使用DynadotAPI購買域名清倉列表中的過期域名

前言 Dynadot是通過ICANN認證的域名注冊商&#xff0c;自2002年成立以來&#xff0c;服務于全球108個國家和地區的客戶&#xff0c;為數以萬計的客戶提供簡潔&#xff0c;優惠&#xff0c;安全的域名注冊以及管理服務。 Dynadot平臺操作教程索引&#xff08;包括域名郵箱&…

js分頁功能

先聲明些全局變量方便我們在下面的代碼中使用 //一頁有多少條數據 let num 10; //頁碼 let k 0; //總頁數 let divide; // 用來判斷顯示哪幾頁的頁數 let page_num 0; // 聲明一個用于接數據的變量 let datas; // 聲明一個用于接數據的變量 let data; //一頁有多少條數據 l…

CMake Do‘s and Don‘ts (行為準則)

CMake Dos and Donts {行為準則} 1. General2. Modules3. ProjectsReferences Effective Modern CMake https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1 Do’s and Don’ts https://cliutils.gitlab.io/modern-cmake/chapters/intro/dodonot.html dos and …

驗證的分類及相關工具

目錄 1.驗證方法的分類1.1動態驗證1.2.靜態驗證 2.動態驗證及相關工具2.1.電路級仿真工具2.2.邏輯仿真工具 3.靜態驗證及相關工具3.1 形式驗證工具3.2 靜態時序分析工具 SOC設計中驗證包含以下幾個方面&#xff1a; 驗證原始描述的正確性驗證設計的邏輯功能是否符合設計規范的要…

【HarmonyOs學習日志(14)】計算機網絡之域名系統DNS

域名系統DNS 域名系統DNS——從域名解析出IP地址 文章目錄 域名系統DNS概述域名到IP地址的解析 互聯網的域名結構命名標準 域名服務器域名的解析過程 概述 域名系統DNS&#xff08;Domain Name System&#xff09;是互聯網使用的命名系統&#xff0c;用來把便于人們使用的機器…

【Python】pandas庫---數據分析

大學畢業那年&#xff0c;你成了社會底層群眾里&#xff0c;受教育程度最高的一批人。 前言 這是我自己學習Python的第四篇博客總結。后期我會繼續把Python學習筆記開源至博客上。 上一期筆記有關Python的NumPy數據分析&#xff0c;沒看過的同學可以去看看&#xff1a;【Pyt…

【人工智能學習之HDGCN18關鍵點修改】

【人工智能學習之HDGCN18關鍵點修改】 訓練部分修改部分 訓練部分 請參考文章&#xff1a;【人工智能學習之HDGCN訓練自己的數據集】 修改部分 參考源碼中25關鍵點的區域劃分&#xff0c;我們將18關鍵點劃分為&#xff1a; 頭部&#xff1a; 鼻子左眼和左耳右眼和右耳 上肢…

ARCGIS國土超級工具集1.2更新說明

ARCGIS國土超級工具集V1.2版本&#xff0c;功能已增加至47 個。在V1.1的基礎上修復了若干使用時發現的BUG&#xff0c;新增了"矢量分割工具"菜單&#xff0c;同時增加及更新了了若干功能&#xff0c;新工具使用說明如下&#xff1a; 一、勘測定界工具欄更新界址點成果…

華為OD --- 流浪地球

華為OD --- 流浪地球 題目獨立實現基本思路代碼實現 其他答案實現思路代碼實現 題目 獨立實現 基本思路 1、首先把題目給出的啟動機器初始化成數組, 2、用for循環模擬每隔1s更新這個初始化數組的前后兩個機器. (源碼中的updateTimeCount函數) 3、for循環每次循環后會檢查當前…

DataOps驅動數據集成創新:Apache DolphinScheduler SeaTunnel on Amazon Web Services

引言 在數字化轉型的浪潮中&#xff0c;數據已成為企業最寶貴的資產之一。DataOps作為一種文化、流程和實踐的集合&#xff0c;旨在提高數據管道的質量和效率&#xff0c;從而加速數據從源頭到消費的過程。白鯨開源科技&#xff0c;作為DataOps領域的領先開源原生公司&#xf…

【硬件IIC】stm32單片機利用硬件IIC驅動OLED屏幕

之前操作OLED屏幕都是用GPIO模擬IIC去驅動&#xff0c;最近打算用硬件IIC去驅動&#xff0c;于是寫下這個demo,在這個過程中遇到一點小坑&#xff0c;記錄一下&#xff0c;本文章非小白教程&#xff0c;所以只突出踩到的坑點&#xff0c;文章中涉及到的OLED也是網上資料寫爛的&…

python如何自動加空格

首先&#xff0c;需要進行打開的一個pycharm的軟件&#xff0c;可進行雙擊的打開該軟件。 可以看到的是在當前的打開的文件中&#xff0c;格式相對較亂一下。格式不對會格式錯誤。 然后點擊菜單欄中的“code”。 在彈出的下拉菜單中選擇“reformat code”選項。 可以看到的是在…

【開源免費】基于SpringBoot+Vue.JS網上訂餐系統(JAVA畢業設計)

本文項目編號 T 018 &#xff0c;文末自助獲取源碼 \color{red}{T018&#xff0c;文末自助獲取源碼} T018&#xff0c;文末自助獲取源碼 目錄 一、系統介紹二、演示錄屏三、啟動教程四、功能截圖五、文案資料5.1 選題背景5.2 國內外研究現狀5.3 可行性分析 六、核心代碼6.1 新…

串口通信和SPI通信詳解

0、背景 在現代嵌入式系統中&#xff0c;通信是不同模塊之間交換數據的核心。串口通信和 SPI&#xff08;串行外設接口&#xff09;是兩種常見的通信方式&#xff0c;它們各自有獨特的優勢和適用場景。 1、串口通信 1.1、串口通信概念 串口通信是一種常見的異步串行通信協議…