【LeetCode】全排列

目錄

  • 一、題目
  • 二、解法
  • 完整代碼


一、題目

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

示例 1:

輸入:nums = [1,2,3]
輸出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
示例 2:

輸入:nums = [0,1]
輸出:[[0,1],[1,0]]
示例 3:

輸入:nums = [1]
輸出:[[1]]

提示:

1 <= nums.length <= 6
-10 <= nums[i] <= 10
nums 中的所有整數 互不相同


二、解法

深度優先遍歷,針對結果的每個位置,都進行一次遍歷,使用on_path數組來記錄,此位置是否使用過。


完整代碼

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:n = len(nums)path = [0] * non_path = [False] * nres = []def dfs(i):if i == n:res.append(path.copy())returnfor j in range(n):if not on_path[j]:on_path[j] = Truepath[i] = nums[j]dfs(i + 1)on_path[j] = Falsedfs(0)return res

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

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

相關文章

LVS+Nginx高可用集群--基礎篇

1.集群概述 單體部署&#xff1a; 可以將上面內容分別部署在不同的服務器上。 單體架構的優點&#xff1a; 小團隊成型就可完成開發&#xff0c;測試&#xff0c;上線 迭代周期短&#xff0c;速度快 打包方便&#xff0c;運維簡單 單體架構的挑戰&#xff1a;單節點宕機造成…

DVWA sql手注學習(巨詳細不含sqlmap)

這篇文章主要記錄學習sql注入的過程中遇到的問題已經一點學習感悟&#xff0c;過程圖片會比較多&#xff0c;比較基礎和詳細&#xff0c;不存在看不懂哪一步的過程 文章目錄 靶場介紹SQL注入 lowSQL注入 MediumSQL注入 HighSQL注入 Impossible 靶場介紹 DVWA&#xff08;Damn…

必備的 Adobe XD 輔助工具

想要高效便捷的使用 Adobe XD&#xff0c; Adobe XD 插件是必不可少的&#xff0c; Adobe XD 的插件非常多&#xff0c;但 90%都是英文&#xff0c;并且良莠不齊。在這兒挑選 9 個好用的 Adobe XD 插件給大家&#xff0c;這里是我整理的一些實用 Adobe XD 插件&#xff0c;讓你…

大屏開發系列——Echarts的基礎使用

本文為個人近期學習總結&#xff0c;若有錯誤之處&#xff0c;歡迎指出&#xff01; Echarts在vue2中的基礎使用 一、簡單介紹二、基本使用&#xff08;vue2中&#xff09;1.npm安裝2.main.js引入3.使用步驟(1)準備帶有寬高的DOM容器&#xff1b;(2)初始化echarts實例&#xff…

gcc: warning: -Wunused-function;加了選項,為什么就不報警告呢?

文章目錄 問題clang的編譯而使用gcc是就不報問題分析原因如果是非static的函數問題 下面這個代碼段,其中這個函數hton_ext_2byte,在整個程序里就沒有使用。 static inline uint16_t hton_ext_2byte(uint8_t **p) {uint16_t v;******return v;

PHP宜邦家政服務管理系統-計算機畢業設計源碼04426

目 錄 摘要 1 緒論 1.1 選題背景與意義 1.2開發現狀 1.3論文結構與章節安排 2 宜邦家政服務管理系統系統分析 2.1 可行性分析 2.1.1 技術可行性分析 2.1.2 經濟可行性分析 2.1.3 操作可行性分析 2.2 系統功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系統用…

國標GB28181視頻匯聚平臺LntonCVS視頻監控安防平臺與國標協議對接解決方案

應急管理部門以“以信息化推動應急管理能力現代化”為總體目標&#xff0c;加快現代信息技術與應急管理業務深度融合&#xff0c;全面支持現代應急管理體系建設&#xff0c;這不僅是國家加強和改進應急管理工作的關鍵舉措&#xff0c;也是應對日益嚴峻的應急管理形勢和滿足公眾…

微信小程序的運行機制與更新機制

1. 小程序運行機制 1.1. 冷啟動與熱啟動 冷啟動為用戶第一次打開小程序時&#xff0c;因為之前沒有打開過&#xff0c;這是第一種冷啟動的情兌。第二種情況為雖然之前用戶打開過&#xff0c;但是小程序被用戶主動的銷毀過&#xff0c;這種情況下我們再次打開小程序&#xff0…

【PALM、WRF-LES】微尺度氣象數值模擬—大渦模擬技術

針對微尺度氣象的復雜性&#xff0c;大渦模擬&#xff08;LES&#xff09;提供了一種無可比擬的解決方案。微尺度氣象學涉及對小范圍內的大氣過程進行精確模擬&#xff0c;這些過程往往與天氣模式、地形影響和人為因素如城市布局緊密相關。在這種規模上&#xff0c;傳統的氣象模…

doc文檔下載

目錄 下載 安裝谷歌瀏覽器(chrome)Microsoft Edge瀏覽器 常見問題 下載 見郵件附件 安裝 谷歌瀏覽器(chrome) 打開瀏覽器&#xff0c;地址欄輸入&#xff1a;chrome://extensions/ 右上角打開開發者模式 點擊如上圖左上角的加載已解壓的拓展程序&#xff0c;并選擇剛剛解壓…

安卓應用開發學習:通過騰訊地圖SDK實現定位功能

一、引言 這幾天有些忙&#xff0c;耽誤了寫日志&#xff0c;但我的學習始終沒有落下&#xff0c;有空我就會研究《 Android App 開發進階與項目實戰》一書中定位導航方面的內容。在我的手機上先后實現了“獲取經緯度及地理位置描述信息”和“獲取導航衛星信息”功能后&#x…

afrog-漏洞掃描(挖洞)工具【了解安裝使用詳細】

★★免責聲明★★ 文章中涉及的程序(方法)可能帶有攻擊性&#xff0c;僅供安全研究與學習之用&#xff0c;讀者將信息做其他用途&#xff0c;由Ta承擔全部法律及連帶責任&#xff0c;文章作者不承擔任何法律及連帶責任。 1、afrog介紹 afrog 是一款性能卓越、快速穩定、PoC可定…

MySQL篇-SQL優化實戰-減少子查詢

回顧 上一篇了解了分析SQL使用的explain&#xff0c;可以點擊查看MySQL篇-SQL優化實戰了解我在寫sql的注意事項還有explain的說明&#xff0c;這次拿一段生產使用的sql進行優化說明。從14s優化到2.6s 待優化的SQL SELECT DISTINCTswpe.tag_number,hca.ACCOUNT_NAME customer…

VBA中類的解讀及應用第十三講:限制復選選擇,窗體模塊的搭建

《VBA中類的解讀及應用》教程【10165646】是我推出的第五套教程&#xff0c;目前已經是第一版修訂了。這套教程定位于最高級&#xff0c;是學完初級&#xff0c;中級后的教程。 類&#xff0c;是非常抽象的&#xff0c;更具研究的價值。隨著我們學習、應用VBA的深入&#xff0…

02-部署LVS-DR群集

1.LVS-DR工作原理 LVS-DR模式&#xff0c;Director Server作為群集的訪問入口&#xff0c;不作為網購使用&#xff0c;節點Director Server 與 Real Server 需要在同一個網絡中&#xff0c;返回給客戶端的數據不需要經過Director Server 為了響應對整個群集的訪問&#xff0c;…

Java WebService記

Web Services開發 常用的 Web Services 框架有 Apache Axis1 、 Apache Axis2 、 Apache CXF &#xff0c;而 Apache Axis1 已經逐漸被淘汰所以本文不會討論&#xff0c;重點關注 Apache Axis2 及 Apache CXF 。 Apache Axis2 在IDEA中新建 Axis2Demo 項目后右鍵選擇 添加框架…

每天10個js面試題(一)

1.js基本數據類型&#xff1f; JavaScript 共有八種數據類型&#xff0c;分別是Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。其中 Symbol 和 BigInt 是 ES6 中新增的數據類型 2.let、const、var的區別&#xff1f; let和const有暫時性死區&#xff0…

開源模型應用落地-LangChain高階-智能體探究-agent類型(一)

一、前言 大模型具有非常強大的功能,可以解答疑問、撰寫報告和文檔、總結內容、進行翻譯等各種日常工作任務。然而,大模型還可以應用于更多的場景,發揮出更強大的作用。 通過智能體,我們可以實現許多有價值的事情,比如:在日常生活中,我們能借助智能體實現智能家居的自動化…

【滲透入門】SQL注入

聲明&#xff1a;本文檔或演示材料僅供教育和教學目的使用&#xff0c;任何個人或組織使用本文檔中的信息進行非法活動&#xff0c;均與本文檔的作者或發布者無關。 文章目錄 什么是sql注入sql注入舉例防御方式練習靶場 什么是sql注入 SQL注入是一種網絡安全漏洞&#xff0c;攻…

【Android源碼】Gerrit安裝

前言 如果你打開 https://android.googlesource.com/platform/manifest&#xff0c;就會發現&#xff0c;google官方管理Android源碼&#xff0c;使用的是Gerrit。Android系統源碼是非常大的&#xff0c;用Git肯定是不適合。對于大型項目&#xff0c;得用Gerrit&#xff0c;今…