代碼隨想錄訓練營第29天| 491.遞增子序列、46.全排列、47.全排列 II

491.遞增子序列

題目鏈接:491. 非遞減子序列 - 力扣(LeetCode)

class Solution {List<List<Integer>> ans = new ArrayList<>();public List<List<Integer>> findSubsequences(int[] nums) {backtrack(nums, 0, new ArrayList<>());return ans;}private void backtrack(int[] nums, int index, List<Integer> list) {if(list.size() >= 2) {ans.add(new ArrayList<>(list));}HashSet<Integer> set = new HashSet<>();for(int i = index; i < nums.length; ++i) {if(set.contains(nums[i])) {continue;}if(list.size() >= 1 && list.getLast() > nums[i]) {continue;}else {list.add(nums[i]);set.add(nums[i]);backtrack(nums, i+1, list);list.removeLast();}}}
}

46.全排列

題目鏈接:46. 全排列 - 力扣(LeetCode)

class Solution {List<List<Integer>> ans = new ArrayList<>();public List<List<Integer>> permute(int[] nums) {backtrack(nums, new boolean[nums.length], new ArrayList<>());return ans;}private void backtrack(int[] nums,boolean[] used, List<Integer> list) {if(list.size() == nums.length) {ans.add(new ArrayList<>(list));}for(int i = 0; i < nums.length; ++i) {if(used[i]) {continue;}list.add(nums[i]);used[i] = true;backtrack(nums, used, list);list.removeLast();used[i] = false;}}
}

47.全排列 II

題目鏈接:47. 全排列 II - 力扣(LeetCode)

class Solution {List<List<Integer>> ans = new ArrayList<>();public List<List<Integer>> permuteUnique(int[] nums) {Arrays.sort(nums);backtrack(nums, new boolean[nums.length], new ArrayList<>());return ans;}private void backtrack(int[] nums, boolean[] used, List<Integer> list) {if(list.size() == nums.length) {ans.add(new ArrayList<>(list));return;    }for(int i = 0; i < nums.length; ++i) {if(used[i] || (i > 0 && !used[i-1] && nums[i] == nums[i-1])) {continue;}list.add(nums[i]);used[i] = true;backtrack(nums, used, list);used[i] = false;list.removeLast();}}
}

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

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

相關文章

(十三)【Jmeter】線程(Threads(Users))之tearDown 線程組

簡述 操作路徑如下: 作用:在正式測試結束后執行清理操作,如關閉連接、釋放資源等。配置:設置清理操作的采樣器、執行順序等參數。使用場景:確保在測試結束后應用程序恢復到正常狀態,避免資源泄漏或對其他測試的影響。優點:提供清理操作,確保測試環境的整潔和可重復性…

租用海外服務器,自己部署ChatGPT-Next-Web,實現ChatGPT聊天自由,還可以分享給朋友用

前言 如果有好幾個人需要使用ChatGPT&#xff0c;又沒有魔法上網環境&#xff0c;最好就是自己搭建一個海外的服務器環境&#xff0c;然后很多人就可以同時直接用了。 大概是情況是要花80元租一個一年的海外服務器&#xff0c;花15元租一個一年的域名&#xff0c;然后openai 的…

centos安裝擴展

centos下安裝php擴展時遇到的問題php 1.imapgit cd /root/php-5.6.27/ext/imap /usr/local/php/bin/phpize ./configure --prefix/usr/local/imap 錯誤1github configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happe…

一 些有代表性的相位解包裹算法

Itoh首先給出了傳統解包裹算法的數學描述!。傳統的相位解包裹操作是通過對空間相鄰點相位值的比較來完成的。根據抽樣定理&#xff0c;如果相鄰采樣點的相位差不超過z&#xff0c;則對應的相位解包裹處理是非常簡單的&#xff0c;理論上以某點為起始點沿某一路徑對包裹相位的差…

中科院計算所:什么情況下,大模型才需要檢索增強?

ChatGPT等大型語言模型在自然語言處理領域表現出色。但有時候會表現得過于自信&#xff0c;對于無法回答的事實問題&#xff0c;也能編出一個像樣的答案來。 這類胡說亂說的答案對于醫療等安全關鍵的領域來說&#xff0c;是致命的。 為了彌補這一缺陷&#xff0c;研究者們提出…

ios抓包Tunnel to......443

fiddler官網下載“CertMaker for iOS and Android”插件&#xff0c;官網插件&#xff1a;https://www.telerik.com/fiddler/add-ons 雙擊運行插件后&#xff0c;重啟fiddler&#xff0c;ios重新安裝證書即可

貓頭虎分享已解決Bug || 系統更新失敗(System Update Failure):UpdateError, UpgradeFailure

博主貓頭虎的技術世界 &#x1f31f; 歡迎來到貓頭虎的博客 — 探索技術的無限可能&#xff01; 專欄鏈接&#xff1a; &#x1f517; 精選專欄&#xff1a; 《面試題大全》 — 面試準備的寶典&#xff01;《IDEA開發秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鴻蒙》 …

Java并發編程面試題53道-JUC

Java中的JUC是"Java Concurrency Utilities"的縮寫&#xff0c;它是指Java平臺從Java 5版本開始引入的一系列用于處理多線程并發編程的工具類和框架。這個包(java.util.concurrent)極大地增強了Java在并發編程領域的支持&#xff0c;提供了一系列高級抽象如線程池&am…

Sora:視頻生成模型作為世界模擬器

我們探索了視頻數據上生成模型的大規模訓練。具體來說&#xff0c;我們在可變持續時間、分辨率和長寬比的視頻和圖像上聯合訓練文本條件擴散模型。我們利用了一個在視頻和圖像潛在碼的時空塊上操作的變壓器架構。我們規模最大的模型 Sora 能夠生成一分鐘的高保真視頻。我們的結…

一周學會Django5 Python Web開發-Django5路由重定向

鋒哥原創的Python Web開發 Django5視頻教程&#xff1a; 2024版 Django5 Python web開發 視頻教程(無廢話版) 玩命更新中~_嗶哩嗶哩_bilibili2024版 Django5 Python web開發 視頻教程(無廢話版) 玩命更新中~共計25條視頻&#xff0c;包括&#xff1a;2024版 Django5 Python we…

代碼隨想錄算法訓練營第21天—回溯算法01 | ● 理論基礎 ● *77. 組合

理論基礎 回溯是一種純暴力搜索的方法&#xff0c;它和遞歸相輔相成&#xff0c;通常是執行完遞歸之后緊接著執行回溯相較于以往使用的for循環暴力搜索&#xff0c;回溯能解決更為復雜的問題&#xff0c;如以下的應用場景應用場景 組合問題 如一個集合{1,2,3,4}&#xff0c;找…

alibabacloud學習筆記06(小滴課堂)

講Sentinel流量控制詳細操作 基于并發線程進行限流配置實操 在瀏覽器打開快速刷新會報錯 基于并發線程進行限流配置實操 講解 微服務高可用利器Sentinel熔斷降級規則 講解服務調用常見的熔斷狀態和恢復 講解服務調用熔斷例子 我們寫一個帶異常的接口&#xff1a;

6-7年經驗的前端,回望這些年的風雨,都扛過來了~

前言 回望這6-7年的時光&#xff0c;不覺而已&#xff0c;有種閱盡千帆而過的感覺&#xff0c;可能人總在回頭看一些事情時都會有這種感覺吧。 傻人大學開始接觸計算機行業 大概10年前的我&#xff0c;填好志愿&#xff0c;拿到錄取通知書的那天&#xff0c;命運的齒輪就開始…

基于Spring Boot的學生評獎評優管理系統,計算機畢業設計(帶源碼+論文)

源碼獲取地址&#xff1a; 碼呢-一個專注于技術分享的博客平臺一個專注于技術分享的博客平臺,大家以共同學習,樂于分享,擁抱開源的價值觀進行學習交流http://www.xmbiao.cn/resource-details/1760641819451928577

python子域名收集工具

在網絡安全領域中&#xff0c;發現和管理攻擊面絕對是一項必須的任務&#xff0c;而對域名的尋找和分析是發現攻擊面的重要步驟。今天我們將與您分享關于域名發現的四種方法&#xff0c;并附帶Python示例代碼來幫助您更好的理解和掌握這些方法。 1. 主域名鏈式證書提取域名信息…

MySQL的安裝和備份

一、openEuler 二進制方式安裝MySQL 8.0.x 1、獲取軟件包 [rootLocalhost ~]# wget -c https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz 2、創建用戶和組 [rootLocalhost ~]# groupadd -g 27 -r mysql [rootLocalhost ~]# useradd…

RisingWave的動態過濾器和時間過濾器的用法

動態過濾器 動態過濾器能夠實時過濾數據流&#xff0c;并允許定義傳入數據必須滿足的條件才能進行處理。 動態過濾器demo CREATE TABLE sales(id int ,profit_margin double ,PRIMARY KEY (id) );CREATE TABLE products(product_name string ,product_profit double);--返回…

如何切換到Ubuntu系統上來

上篇講到,使用Ubuntu系統能讓人帶來積極的影響,那么如何使用上這個系統呢?其實很多時候,不是不會安裝的技術問題,而是意愿或者心理障礙的問題。 以下是我使用ubuntu系統一年半的經驗,相信經過這三部分的介紹,可以幫助你了解linux系統的最新進展,克服使用困難,使用上U…

C# 讀取JSON文件

命名空間&#xff1a; using System.Text.Json.Nodes; 讀取JSON&#xff1a; // 讀取設置文件參數 JsonNode json JsonNode.Parse(File.ReadAllText(Environment.CurrentDirectory.Replace("\\bin\\Debug", "") "\\settings.json"))["a…

前端項目git提交規范配置

項目規范管理 目的 為了使團隊多人協作更加的規范&#xff0c;所以需要每次在 git 提交的時候&#xff0c;做一次硬性規范提交&#xff0c;規范 git 的提交信息 使用commitizen規范git提交(交互式提交 自定義提示文案 Commit規范) 安裝依賴 pnpm install -D commitizen c…