leetcode打卡#day30 93. 復原 IP 地址、78. 子集、 90. 子集 II

93. 復原 IP 地址

class Solution {
private:vector<string> result;//判斷Ip字段是否合法bool isValid(string& s, int startIndex, int endIndex) {if (startIndex > endIndex) return false;//以0開頭 -- 無效數字if (s[startIndex] == '0' && startIndex != endIndex) return false;int num = 0;for (int i = startIndex; i <= endIndex; i++) {if (s[i] < '0' || s[i] > '9') return false;num = num * 10 + (s[i] - '0');if (num > 255) return false;}return true;}void backtracking (string& s, int startIndex, int pointNum) {//當點的個數等于3,處理時刻if (pointNum == 3) {//如果合法if (isValid(s, startIndex, s.size()-1)) {result.push_back(s);}return;}for (int i = startIndex; i < s.size(); i++) {if (isValid(s, startIndex, i)) {s.insert(s.begin()+i+1, '.');pointNum++;backtracking(s, i+2, pointNum);pointNum--;s.erase(s.begin() + i + 1);}else {break;}}}
public:vector<string> restoreIpAddresses(string s) {backtracking(s, 0, 0);return result;}
};

78. 子集

class Solution {
public://回溯算法vector<int> path;vector<vector<int>> ans;void backTracking (vector<int> nums,int startIndex) {int n = nums.size();ans.push_back(path);if (startIndex >= n) return;//單次遍歷for (int i = startIndex; i < n; i++) {path.push_back(nums[i]);backTracking(nums, i+1);path.pop_back();}}vector<vector<int>> subsets(vector<int>& nums) {int n = nums.size();backTracking(nums, 0);return ans;}};

90. 子集 II

class Solution {
private:vector<vector<int>> result;vector<int> path;//回溯void backtracking (vector<int>& nums, int startIndex, vector<bool>& used) {//這里也把 [] 包含進去result.push_back(path);for (int i = startIndex; i < nums.size(); i++) {//去重復if (i > 0 && nums[i] == nums[i-1] && used[i-1] == false) continue;path.push_back(nums[i]);used[i] = true;backtracking(nums, i+1, used);//回溯path.pop_back();used[i] = false;}}
public:vector<vector<int>> subsetsWithDup(vector<int>& nums) {//防止重復sort(nums.begin(), nums.end());vector<bool> used(nums.size(), false);backtracking(nums, 0, used);return result;}
};

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

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

相關文章

代碼+視頻,總結R語言常用的幾種按條件轉換數據的方法

在科學研究中免不了和數據打交道&#xff0c;收集到原始數據后我們經常需要對其進行清洗、轉換才能得到我們需要的數據。 今天我總結了一下自己常用的一些多條件的數據轉換方法&#xff0c;在臨床中遇到問題能多一種選擇&#xff0c;下面視頻操作演示一下 總結R語言常用的幾種按…

深度學習 --- stanford cs231 編程作業(如何在chrome中安裝Google colab)

stanford cs231 編程作業(如何開始你的colab編程&#xff09; 斯坦福231n的所有作業都要求在colab里面做&#xff0c;colab可以為你提供免費的云計算。實際上在他的官網中也有關于如何安裝colab的詳細說明視頻。 https://youtu.be/DsGd2e9JNH4https://youtu.be/DsGd2e9JNH4 我這…

springboot集成mybatis 單元測試

1、依賴 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…

MATLAB 相移法計算絕對相位

文章目錄 一、簡介二、實現代碼三、實現效果參考文獻一、簡介 繼續之前博客的內容(Matlab 結構光相移法(單頻多相)),通過相移算法計算出的相位主值必 ? ( x , y ) \phi(x,y)

Unity入門理論+實踐篇之Luna

創建世界的主角 父子物體 首先創建一個cube物體 可以觀察到其在2D視角下的坐標為&#xff08;0&#xff0c;0&#xff09; 此時將cube物體拖拽到ldle_0下&#xff0c;如圖所示&#xff0c;并將其坐標值改為&#xff08;2&#xff0c;2&#xff09; 此時再將ldle_0物體的坐標…

95.網絡游戲逆向分析與漏洞攻防-ui界面的設計-ui的設計與架構

免責聲明&#xff1a;內容僅供學習參考&#xff0c;請合法利用知識&#xff0c;禁止進行違法犯罪活動&#xff01; 如果看不懂、不知道現在做的什么&#xff0c;那就跟著做完看效果&#xff0c;代碼看不懂是正常的&#xff0c;只要會抄就行&#xff0c;抄著抄著就能懂了 內容…

基于jeecgboot-vue3的Flowable新建流程定義(二)

因為這個項目license問題無法開源&#xff0c;更多技術支持與服務請加入我的知識星球。 接上一節 4、編輯好后進行保存&#xff0c;保存代碼如下&#xff1a; /*保存流程定義*/const save (data: any) > {//console.log("save data", data); // { process: {..…

python從入門到精通05

一、輸入身份證號碼輸出對應省份 id_number "4313212002" province_code id_number[0] id_number[1] province_code_list {43:"湖南"} print("身份證號對應省份是&#xff1a;",province_code_list[province_code]) 二、統計需要取快遞人員…

博客增長與數據分析:不可不知的 6 大策略

CSDN 的朋友你們好&#xff0c;我是何未來&#xff0c;一個熱愛編程和寫作的計算機本科生&#xff0c;今天給大家帶來專欄【程序員博主教程&#xff08;完全指南&#xff09;】的第 11 篇文章“分析和追蹤博客表現”。本篇文章為你揭示了如何通過數據洞察來優化你的技術博客&am…

-bash: locate: 未找到命令(解決辦法)

-bash: locate: 未找到命令的解決辦法 一、解決辦法二、什么是locate三 、locate命令的具體用法 一、解決辦法 CentOS7默認沒有安裝locate命令&#xff0c;安裝方式如下&#xff1a; 執行以下命令進行安裝&#xff1a; yum install mlocate用 updatedb 指令創建 或更新locate …

數學建模--LaTeX基本介紹和入門

1.引言 &#xff08;1&#xff09;上次我們介紹到了我們這個團隊第一次參加這個數學建模比賽&#xff0c;就是這個電工杯&#xff0c;我是一名論文手&#xff0c;我們在這個下午也是對于這個比賽過程中出現的問題做了相應的分析&#xff0c;每個人也是進行了反思&#xff0c;知…

Tomcat源碼解析(七):底層如何獲取請求url、請求頭、json數據?

Tomcat源碼系列文章 Tomcat源碼解析(一)&#xff1a;Tomcat整體架構 Tomcat源碼解析(二)&#xff1a;Bootstrap和Catalina Tomcat源碼解析(三)&#xff1a;LifeCycle生命周期管理 Tomcat源碼解析(四)&#xff1a;StandardServer和StandardService Tomcat源碼解析(五)&…

golang實現mediasoup的tcp服務及channel通道

tcp模塊 定義相關類 Client&#xff1a;表示客戶端連接&#xff0c;包含網絡連接conn、指向服務器的指針Server和Channel指針c。server&#xff1a;表示TCP服務器&#xff0c;包含服務器地址address、TLS配置config以及三個回調函數&#xff1a; onNewClientCallback&#xf…

最大連續1的個數(滑動窗口)

算法原理&#xff1a; 這道題大眼一看是關于翻轉多少個0的問題&#xff0c;但是&#xff0c;如果你按照這種思維去做題&#xff0c;肯定不容易。所以我們要換一種思維去做&#xff0c;這種思維不是一下就能想到的&#xff0c;所以想不到也情有可原。 題目是&#xff1a;給定一…

Vue3:動態路由+子頁面(新增、詳情頁)動態路由配置(代碼全注釋)

文章目錄 實現思路調用后端接口獲取用戶權限獲取頁面權限動態綁定到路由對象中動態添加子頁面路由 實現思路 emm&#xff0c;項目中使用動態路由實現根據后端返回的用戶詳情信息&#xff0c;動態將該用戶能夠訪問的頁面信息&#xff0c;動態生成并且綁定到路由對象中。但是后…

如何從清空的回收站中恢復已刪除的Excel文件?

“嗨&#xff0c;幾天前我刪除了很多沒有備份的Excel文件。回收站已清空。當我意識到我犯了一個大錯誤時&#xff0c;所有的Excel文件都消失了&#xff0c;回收站里什么都沒有。清空回收站后是否可以恢復已刪除的 Excel 文件&#xff1f; 回收站是一種工具&#xff0c;可讓您在…

LeetCode 343. 整數拆分 (dp動態規劃)

343. 整數拆分 力扣題目鏈接(opens new window) 給定一個正整數 n&#xff0c;將其拆分為至少兩個正整數的和&#xff0c;并使這些整數的乘積最大化。 返回你可以獲得的最大乘積。 示例 1: 輸入: 2輸出: 1解釋: 2 1 1, 1 1 1。 示例 2: 輸入: 10輸出: 36解釋: 10 3 …

【openlayers系統學習】4.2Mapbox 樣式渲染圖層

二、Mapbox 樣式渲染圖層 顯然我們目前的地圖需要一些樣式。 VectorTile? 圖層的樣式與 Vector? 圖層的樣式工作方式完全相同。那里描述的樣式在這里也適用。 對于這樣的地圖&#xff0c;創建數據驅動的樣式&#xff08;對矢量圖層操作&#xff09;非常簡單。但矢量切片也用…

單兵組網設備+指揮中心:集群系統技術詳解

一、單兵設備功能特點 單兵組網設備是現代通信技術的重要成果&#xff0c;旨在為單個作戰或工作單元提供高效的通信和數據傳輸能力。其主要功能特點包括&#xff1a; 1. 便攜性&#xff1a;設備輕巧&#xff0c;便于單兵攜帶和使用&#xff0c;適應各種復雜環境。 2. 通信能…

簡述vue-router 組件復用導致路由參數失效怎么辦

當使用Vue Router時&#xff0c;組件復用可能會導致路由參數失效的問題。為了解決這個問題&#xff0c;我們可以采取以下策略&#xff1a; 1. 監聽路由變化 在Vue組件中&#xff0c;我們可以使用watch屬性來監聽$route對象的變化。當路由發生變化時&#xff0c;如果目標組件是…