77. 組合【 力扣(LeetCode) 】

文章目錄

  • 零、原題鏈接
  • 一、題目描述
  • 二、測試用例
  • 三、解題思路
  • 四、參考代碼

零、原題鏈接


77. 組合

一、題目描述

給定兩個整數 nk,返回范圍 [1, n] 中所有可能的 k 個數的組合。

你可以按 任何順序 返回答案。

二、測試用例

示例 1:

輸入:n = 4, k = 2
輸出:
[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],
]

示例 2:

輸入:n = 1, k = 1
輸出:[[1]]

提示:

1 <= n <= 20
1 <= k <= n

三、解題思路

  1. 基本思路:
    ??回溯+剪枝,對于每個元素,我們可以選或者不選,如果太多次不選,可能無法構成指定長度的組合,則可以提前剪枝。
  2. 具體思路:
    • 編寫 dfs 函數
      • 如果確定了 k 個元素,則記錄答案
      • 如果剩下的元素不足以構成長度為 k 的組合,則提前結束【剪枝】
      • 選擇這個元素,遞歸調用確定下一個元素的選取
      • 不選這個元素,遞歸調用確定下一個元素的選取
    • 調用 dfs 函數,返回結果

四、參考代碼

時間復雜度: O ( C n k ) \Omicron(C_n^k) O(Cnk?)
空間復雜度: O ( n ) \Omicron(n) O(n)

class Solution {
public:int _k;vector<vector<int>> ans;vector<int> t;void dfs(const int& n) {if (t.size() == _k) {ans.emplace_back(t);return;}if (n < _k - t.size()) // 提前剪枝return;t.emplace_back(n);dfs(n - 1);t.pop_back();dfs(n - 1);}vector<vector<int>> combine(int n, int k) {_k = k;dfs(n);return ans;}
};

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

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

相關文章

C++中指針與引用的區別詳解:從原理到實戰

C中指針與引用的區別詳解&#xff1a;從原理到實戰 1. 引言&#xff1a;指針與引用的重要性 在C編程中&#xff0c;指針和引用是兩個極其重要的概念&#xff0c;也是許多初學者容易混淆的地方。作為C的核心特性&#xff0c;它們直接操作內存地址&#xff0c;提供了對內存的直…

WebFuture:網站部分圖片突然無法顯示的原因

問題描述&#xff1a; 主站群遷移到linux系統后&#xff0c;原先部署在windows下的子站群節點部分圖片無法顯示。 原因分析&#xff1a; 檢查無法顯示的圖片的路徑&#xff0c;發現調用的是原先主站的圖片。主站重新部署到linux系統后&#xff0c;圖片路徑會區分大小寫所以統…

uniapp使用Canvas生成電子名片

uniapp使用Canvas生成電子名片 工作中有生成電子名片的一個需求&#xff0c;剛剛好弄了發一下分享分享 文章目錄 uniapp使用Canvas生成電子名片前言一、上代碼&#xff1f;總結 前言 先看效果 一、上代碼&#xff1f; 不對不對應該是上才藝&#xff0c;哈哈哈 <template…

PostgreSQL ALTER TABLE 命令詳解

PostgreSQL ALTER TABLE 命令詳解 引言 PostgreSQL 是一款功能強大的開源關系型數據庫管理系統&#xff0c;它提供了豐富的命令來幫助數據庫管理員和開發者管理數據庫中的表。其中&#xff0c;ALTER TABLE 命令是 PostgreSQL 中最常用的命令之一&#xff0c;用于修改表的結構…

Kafka KRaft + SSL + SASL/PLAIN 部署文檔

本文檔介紹如何在 Windows 環境下部署 Kafka 4.x&#xff0c;使用 KRaft 模式、SSL 加密和 SASL/PLAIN 認證。stevensu1/kafka_2.13-4.0.0 1. 環境準備 JDK 17 或更高版本Kafka 4.x 版本&#xff08;本文檔基于 kafka_2.13-4.0.0&#xff09; 2. 目錄結構 D:\kafka_2.13-4.…

MQTT協議,EMQX部署,MQTTX安裝學習

一、MQTT概述 1.什么是MQTT MQTT是一種基于“發布訂閱“”模式的消息傳輸協議。 消息&#xff1a;設備和設備之間傳輸的數據&#xff0c;或者服務和服務之間要傳輸的數據。 協議&#xff1a;傳輸數據時所遵循的規范。 2.常見的通訊模式 &#xff08;1&#xff09;客戶端-服…

Java Web 開發詳細流程

&#x1f9ed; 一、項目立項與需求分析階段&#xff08;0%&#xff09; 1.1 商業需求確認 與產品經理溝通核心業務目標 目標&#xff1a;構建一個圖書管理系統用戶&#xff1a;圖書管理員、普通用戶功能&#xff1a;登錄、查看、增刪改圖書、權限控制、分頁、搜索 1.2 輸出文…

學習路之PHP--easyswoole_panel安裝使用

學習路之PHP--easyswoole_panel安裝使用 一、新建文件夾二、安裝三、改配置地址四、訪問 IP:Port 自動進入index.html頁面 一、新建文件夾 /www/wwwroot/easyswoole_panel 及配置ftp 解壓easyswoole_panel源碼 https://github.com/easyswoole-panel/easyswoole_panel 二、安…

軟件設計綜合知識

software-design 軟考中級-軟件設計師-綜合知識&#xff1a;計算機系統基礎、操作系統、計算機網絡與信息安全、程序語言基礎、數據庫基礎、數據結構與算法、軟件工程基礎知識、標準與知識產權等。 —— 2025 年 3 月 5 日 甲辰年二月初六 驚蟄 目錄 software-design1、計算機基…

海思 35XX MIPI讀取YUV422

1.項目背景&#xff1a; 使用海思芯片&#xff0c;接收FPGA發送的MIPI數據&#xff0c;不需要ISP處理&#xff0c;YUV圖像格式為YUV422。 2.移植MIPI驅動 修改IMX347的驅動遠嗎&#xff0c;將I2C讀寫的部分注釋&#xff0c;其他的不用再做修改。 int imx347_slave_i2c_init(ot…

算力租賃革命:彈性模式如何重構數字時代的創新門檻?

一、算力革命&#xff1a;第四次工業革命的核心驅動力? 在科技飛速發展的當下&#xff0c;我們正悄然迎來第四次工業革命。華為創始人任正非在一場程序設計競賽中曾深刻指出&#xff0c;這場革命的基礎便是大算力。隨著 5G、人工智能、大數據、物聯網等信息技術的迅猛發展&am…

改寫自己的瀏覽器插件工具 myChromeTools

1. 起因&#xff0c; 目的: 前面我寫過&#xff0c; 自己的一個瀏覽器插件小工具 最近又增加一個小功能&#xff0c;可以自動滾動頁面&#xff0c;尤其是對于那些瀑布流加載的網頁。最新的代碼都在這里 2. 先看效果 3. 過程: 代碼 1, 模擬鼠標自然滾動 // 處理滾動控制邏輯…

深度學習篇---OC-SORT簡介

OC-SORT&#xff08;Observation-Centric SORT&#xff09;是一種以觀測為中心的多目標跟蹤算法&#xff0c;旨在解決傳統 SORT 算法在目標遮擋、外觀變化和復雜交互場景下關聯準確性不足的問題。以下是其詳細介紹&#xff1a; 核心創新點 以觀測為中心的在線平滑&#xff08…

硬件工程師筆記——二極管Multisim電路仿真實驗匯總

目錄 1 二極管基礎知識 1.1 工作原理 1.2 二極管的結構 1.3 PN結的形成 1.4 二極管的工作原理詳解 正向偏置 反向偏置 multisim使用說明鏈接 2 二極管特性實驗 2.1 二極管加正向電壓 2.2 二極管加反向電壓 2.3 二極管兩端的電阻 2.4 交流電下二級管工作 2.5 二極…

vscode中讓文件夾一直保持展開不折疊

vscode中讓文件夾一直保持展開不折疊 問題 很多小伙伴使用vscode發現空文件夾會折疊顯示, 讓人看起來非常難受, 如下圖 解決辦法 首先打開設置->setting, 搜索compact Folders, 去掉勾選即可, 如下圖所示 效果如下 看起來非常爽 ! ! !

設計模式學習筆記

設計模式 一&#xff1a;分類&#xff1a; 創建型模式 用于描述“怎樣創建對象”&#xff0c;它的主要特點是“將對象的創建與使用分離”。GoF&#xff08;四人組&#xff09;書中提供了單例、原型、工廠方法、抽象工廠、建造者等 5 種創建型模式。 結構型模式 用于描述如何將…

Kaggle-Predict Calorie Expenditure-(回歸+xgb+cat+lgb+模型融合+預測結果)

Predict Calorie Expenditure 題意&#xff1a; 給出每個人的基本信息&#xff0c;預測運動后的卡路里消耗值。 數據處理&#xff1a; 1.構造出人體機能、運動相關的特征值。 2.所有特征值進行從新組合&#xff0c;注意唯獨爆炸 3.對連續信息分箱變成離散 建立模型&#x…

第十二篇:MySQL 分布式架構演進與云原生數據庫探索

本篇聚焦 MySQL 在互聯網架構演進過程中的角色變化&#xff0c;探討其從單體向分布式、再向云原生架構轉型的關鍵技術路徑與實踐建議。 一、傳統單體架構下的 MySQL 應用模式 在早期項目中&#xff0c;MySQL 多用于中小型應用&#xff1a; 單節點部署&#xff1b; 水平擴展難…

JVM——回顧:JVM的起源、特性與系統構成

引入 在當今數字化時代&#xff0c;Java語言及其運行環境Java虛擬機&#xff08;JVM&#xff09;在軟件開發領域占據著舉足輕重的地位。從大型企業級應用到各類移動應用&#xff0c;JVM憑借其獨特的特性和強大的功能&#xff0c;為開發者提供了高效且穩定的運行環境。 JVM的起…

大疆上云API+流媒體服務器部署實現直播功能

根據官網文檔上云API&#xff0c;先將官方提供的Demo部署起來&#xff0c;后端和前端服務環境搭建請參考官方文檔。因為官方文檔沒有對直播這塊的環境搭建進行說明&#xff0c;所以下面主要對直播功能環境搭建做一個記錄&#xff0c;僅供參考&#xff0c;如有不足之處&#xff…