力扣46:全排列

力扣46:全排列

  • 題目
  • 思路
  • 代碼

題目

給定一個不含重復數字的數組 nums ,返回其 所有可能的全排列 。你可以 按任意順序 返回答案。

思路

看到所有可能首先想到的就是回溯。
回溯的結束條件也很好寫,用數組的長度來判斷即可。這道題的難點主要是如何進行判斷這個位置我們已經使用過了,和我們之前的回溯不同之前的回溯可能每個位置是一個字符串或者數組所以我們可以使用下標來控制,這道題我們每個位置都只是一個數字所以我們得另想辦法。其實也很簡單我們用一個存儲著bool類型的數組不就可以了如果這個位置已經插入了我們就把對應下標設為true如果沒插入就是flase。思路有了代碼就很簡單了。

代碼

class Solution {
public:void BackCall(vector<vector<int>>& res,vector<int>& nums,vector<bool>& v,vector<int> tmp){if(tmp.size() == nums.size()){res.push_back(tmp);return;}for(int i = 0; i <nums.size();i++){if(v[i] == true){continue;}v[i] = true;tmp.push_back(nums[i]);BackCall(res,nums,v,tmp);tmp.pop_back();v[i] = false;}}vector<vector<int>> permute(vector<int>& nums) {vector<vector<int>> res;vector<int> tmp;//使用索引和bool類型來判斷此位置是否已經使用過了vector<bool> v(nums.size(),false);//回溯BackCall(res,nums,v,tmp);return res;}
};

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

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

相關文章

mac環境配置rust

rustup 是一個命令行工具&#xff0c;用于管理 Rust 編譯器和相關工具鏈 sh 體驗AI代碼助手 代碼解讀復制代碼curl --proto ‘https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh使得 Rust 的安裝在當前 shell 環境中生效 如果你使用的是 bash, zsh 或其他類似的 shell&#xf…

腳手架搭建React項目

腳手架搭建項目 1. 認識腳手架工具 1.1. 前端工程的復雜化 1.1.1. 如果只是開發幾個小的demo程序&#xff0c;那么永遠不要考慮一些復雜的問題&#xff1a; 比如目錄結構如何組織劃分&#xff1b;比如如何關鍵文件之間的相互依賴&#xff1b;比如管理第三方模塊的依賴&#xff…

Golang 調試技巧:在 Goland 中查看 Beego 控制器接收的前端字段參數

&#x1f41b; Golang 調試技巧&#xff1a;在 Goland 中查看 Beego 控制器接收的前端字段參數 在使用 Beego 開發 Web 項目時&#xff0c;我們常常會在控制器中通過 c.GetString()、c.GetInt() 等方法獲取前端頁面傳過來的字段值。而在調試過程中&#xff0c;如何在 Goland 中…

sqli-labs:Less-2關卡詳細解析

1. 思路&#x1f680; 本關的SQL語句為&#xff1a; $sql"SELECT * FROM users WHERE id$id LIMIT 0,1";注入類型&#xff1a;數值型提示&#xff1a;參數id無需考慮閉合問題&#xff0c;相對簡單 2. 手工注入步驟&#x1f3af; 我的地址欄是&#xff1a;http://l…

TRAE 軟件使用攻略

摘要TRAE 是一款集成了人工智能技術的開發工具&#xff0c;旨在為開發者提供高效、智能的編程體驗。它包括三個主要組件&#xff1a;TRAE IDE、TRAE SOLO 和 TRAE 插件。無論是編程新手還是經驗豐富的開發者&#xff0c;都可以通過 TRAE 提高工作效率和代碼質量。標題一&#x…

將開發的軟件安裝到手機:環境配置、android studio設置、命令行操作

將開發的軟件安裝到手機環境配置android studio4.1.2安裝命令行操作環境配置 注意&#xff1a;所有的工具的版本都需要根據當下自己的軟件需要的。 Node&#xff1a;14.16.0 &#xff08;如果安裝了npm&#xff0c;可以使用npm進行當前使用node版本的更改&#xff09; &#x…

Jmeter 命令行壓測、HTML 報告、Jenkins 配置目錄

Jmeter 命令行壓測 & 生成 HTML 測試報告 通常 Jmeter 的 GUI 模式僅用于調試&#xff0c;在實際的壓測項目中&#xff0c;為了讓壓測機有更好的性能&#xff0c;多用 Jmeter 命令行來進行壓測。 官方&#xff1a;Jmeter 最佳實踐 同時&#xff0c;JMeter 也支持生成 HT…

記錄幾個SystemVerilog的語法——覆蓋率

1. 前言 通常說的覆蓋率有兩種類型&#xff1a;code coverage(代碼覆蓋率)和functional coverage(功能覆蓋率)。代碼覆蓋率是使用EDA工具自動從設計代碼里提取出來的&#xff0c;功能覆蓋率是用戶指定的&#xff0c;用于衡量測試設計意圖和功能進展。因此&#xff0c;功能覆蓋…

深度學習基礎—2

第一章、參數初始化 我們在構建網絡之后&#xff0c;網絡中的參數是需要初始化的。我們需要初始化的參數主要有權重和偏置&#xff0c;偏重一般初始化為 0 即可&#xff0c;而對權重的初始化則會更加重要&#xff0c;我們介紹在 PyTorch 中為神經網絡進行初始化的方法。 1.1 常…

PyTorch深度學習快速入門學習總結(三)

現有網絡模型的使用與調整 VGG — Torchvision 0.22 documentation VGG 模型是由牛津大學牛津大學&#xff08;Oxford University&#xff09;的 Visual Geometry Group 于 2014 年提出的卷積神經網絡模型&#xff0c;在 ImageNet 圖像分類挑戰賽中表現優異&#xff0c;以其簡…

是否需要買一個fpga開發板?

糾結要不要買個 FPGA 開發板&#xff1f;真心建議搞一塊&#xff0c;尤其是想在數字電路、嵌入式領域扎根的同學&#xff0c;這玩意兒可不是可有可無的擺設。入門級的選擇不少&#xff0c;全新的像 Cyclone IV、Artix 7 系列&#xff0c;幾百塊就能拿下&#xff0c;要是去二手平…

【模型細節】MHSA:多頭自注意力 (Multi-head Self Attention) 詳細解釋,使用 PyTorch代碼示例說明

MHSA:使用 PyTorch 實現的多頭自注意力 (Multi-head Self Attention) 代碼示例&#xff0c;包含詳細注釋說明&#xff1a;線性投影 通過三個線性層分別生成查詢(Q)、鍵(K)、值(V)矩陣&#xff1a; QWq?x,KWk?x,VWv?xQ W_qx, \quad K W_kx, \quad V W_vxQWq??x,KWk??x…

PGSQL運維優化:提升vacuum執行時間觀測能力

本文是 IvorySQL 2025 生態大會暨 PostgreSQL 高峰論壇上的演講內容&#xff0c;作者&#xff1a;NKYoung。 6 月底濟南召開的 HOW2025 IvorySQL 生態大會上&#xff0c;我在內核論壇分享了“提升 vacuum 時間觀測能力”的主題&#xff0c;提出了新增統計信息的方法&#xff0c…

神奇的數據跳變

目的 上周遇上了一個非常奇怪的問題,就是軟件的數據在跳變,本來數據應該是158吧,數據一會變成10,一會又變成158,數據在不斷地跳變,那是怎么回事?? 這個問題非常非常的神奇,讓人感覺太不可思議了。 這是這段時間,我遇上的最神奇的事了,沒有之一,最神奇的事,下面…

【跨國數倉遷移最佳實踐3】資源消耗減少50%!解析跨國數倉遷移至MaxCompute背后的性能優化技術

本系列文章將圍繞東南亞頭部科技集團的真實遷移歷程展開&#xff0c;逐步拆解 BigQuery 遷移至 MaxCompute 過程中的關鍵挑戰與技術創新。本篇為第3篇&#xff0c;解析跨國數倉遷移背后的性能優化技術。注&#xff1a;客戶背景為東南亞頭部科技集團&#xff0c;文中用 GoTerra …

【MySQL集群架構與實踐3】使用Dcoker實現讀寫分離

目錄 一. 在Docker中安裝ShardingSphere 二 實踐&#xff1a;讀寫分離 2.1 應用場景 2.2 架構圖 2.3 服務器規劃 2.4 啟動數據庫服務器 2.5. 配置讀寫分離 2.6 日志配置 2.7 重啟ShardingSphere 2.8 測試 2.9. 負載均衡 2.9.1. 隨機負載均衡算法示例 2.9.2. 輪詢負…

maven的阿里云鏡像地址

在 Maven 中配置阿里云鏡像可以加速依賴包的下載&#xff0c;尤其是國內環境下效果明顯。以下是阿里云 Maven 鏡像的配置方式&#xff1a; 配置步驟&#xff1a;找到 Maven 的配置文件 settings.xml 全局配置&#xff1a;位于 Maven 安裝目錄的 conf/settings.xml用戶級配置&am…

大語言模型信息抽取系統解析

這段代碼實現了一個基于大語言模型的信息抽取系統&#xff0c;能夠從金融和新聞類文本中提取結構化信息。下面我將詳細解析整個代碼的結構和功能。1. 代碼整體結構代碼主要分為以下幾個部分&#xff1a;模式定義&#xff1a;定義不同領域(金融、新聞)需要抽取的實體類型示例數據…

Next實習項目總結串聯講解(一)

下面是一些 Next.js 前端面試中常見且具深度的問題&#xff0c;按照邏輯模塊整理&#xff0c;同時提供示范回答建議&#xff0c;便于你條理清晰地展示理解與實踐經驗。 ? 面試講述結構建議 先講 Next.js 是什么&#xff0c;它為什么比 React 更高級。(支持 SSR/SSG/ISR,提升S…