LeetCode93. Restore IP Addresses

文章目錄

    • 一、題目
    • 二、題解

一、題目

A valid IP address consists of exactly four integers separated by single dots. Each integer is between 0 and 255 (inclusive) and cannot have leading zeros.

For example, “0.1.2.201” and “192.168.1.1” are valid IP addresses, but “0.011.255.245”, “192.168.1.312” and “192.168@1.1” are invalid IP addresses.
Given a string s containing only digits, return all possible valid IP addresses that can be formed by inserting dots into s. You are not allowed to reorder or remove any digits in s. You may return the valid IP addresses in any order.

Example 1:

Input: s = “25525511135”
Output: [“255.255.11.135”,“255.255.111.35”]
Example 2:

Input: s = “0000”
Output: [“0.0.0.0”]
Example 3:

Input: s = “101023”
Output: [“1.0.10.23”,“1.0.102.3”,“10.1.0.23”,“10.10.2.3”,“101.0.2.3”]

Constraints:

1 <= s.length <= 20
s consists of digits only.

二、題解

注意c++中字符串的insert方法和erase方法

class Solution {
public:vector<string> res;bool isValid(string& s,int start,int end){if(start > end) return false;if(s[start] == '0' && start != end) return false;int num = 0;for(int i = start;i <= end;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 pointSum){if(pointSum == 3){if(isValid(s,startIndex,s.size()-1)){res.push_back(s);return;}}for(int i = startIndex;i < s.size();i++){//合法的情況下if(isValid(s,startIndex,i)){s.insert(s.begin() + i + 1,'.');pointSum++;backtracking(s,i + 2,pointSum);s.erase(s.begin() + i + 1);pointSum--;}else break;}}vector<string> restoreIpAddresses(string s) {backtracking(s,0,0);return res;}
};

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

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

相關文章

視頻剪輯新招:批量隨機分割,分享精彩瞬間

隨著社交媒體的普及&#xff0c;短視頻已經成為分享生活、交流信息的重要方式。為制作出吸引的短視頻&#xff0c;許多創作者都投入了大量的時間和精力進行剪輯。然而&#xff0c;對于一些沒有剪輯經驗的新手來說&#xff0c;這個過程可能會非常繁瑣。現在一起來看云炫AI智剪批…

楊傳輝:從一體化架構,到一體化產品,為關鍵業務負載打造一體化數據庫

在剛剛結束的年度發布會上&#xff0c;OceanBase正式推出一體化數據庫的首個長期支持版本 4.2.1 LTS&#xff0c;這是面向 OLTP 核心場景的全功能里程碑版本&#xff0c;相比上一個 3.2.4 LTS 版本&#xff0c;新版本能力全面提升&#xff0c;適應場景更加豐富&#xff0c;有更…

web前端之若依框架圖標對照表、node獲取文件夾中的文件名,并通過數組返回文件名、在html文件中引入.svg文件、require、icon

MENU 前言效果圖htmlJavaScripstylenode獲取文件夾中的文件名 前言 需要把若依原有的icon的svg文件拿到哦&#xff01; 注意看生成svg的路徑。 效果圖 html <div id"idSvg" class"svg_box"></div>JavaScrip let listSvg [404, bug, build, …

02 如何快速讀懂一個C++程序

系列文章目錄 02 如何快速讀懂一個C程序 目錄 系列文章目錄 文章目錄 前言 一、C 的基本語法 二、如何看懂一個c程序&#xff1f; 1.了解程序結構 2.C 中的分號 & 語句塊 3.C 注釋 總結 前言 C 是一種高級編程語言&#xff0c;它具有豐富的特性&#xff0c;用于…

CentOS7安裝Docker運行環境

1 引言 Docker 是一個用于開發&#xff0c;交付和運行應用程序的開放平臺。Docker 使您能夠將應用程序與基礎架構分開&#xff0c;從而可以快速交付軟件。借助 Docker&#xff0c;您可以與管理應用程序相同的方式來管理基礎架構。通過利用 Docker 的方法來快速交付&#xff0c;…

11.前綴和、異或前綴和、差分數組練習題

前綴和 前綴和可以用來求滿足條件的子數組的和、個數、長度 更多前綴和題目&#xff1a; 560. 和為 K 的子數組 974. 和可被 K 整除的子數組 1590. 使數組和能被 P 整除 523. 連續的子數組和 525. 連續數組 560. 和為 K 的子數組 中等 給你一個整數數組 nums 和一個整數…

在新疆烏魯木齊的汽車托運

在新疆烏魯木齊要托運的寶! 看過來了 找汽車托運公司了 連夜吐血給你們整理了攻略!! ??以下&#xff1a; 1 網上搜索 可以在搜索引擎或專業的貨運平臺上搜索相關的汽車托運公司信息。在網站上可以了解到公司的服務范圍、托運價格、運輸時效等信息&#xff0c;也可以參考其他車…

2024年的云趨勢:云計算的前景如何?

本文討論了2024年云計算的發展趨勢。 適應復雜的生態系統、提供實時功能、優先考慮安全性和確保可持續性的需求正在引領云計算之船。多樣化的工作負載允許探索通用的公共云基礎設施范例之外的選項。由于需要降低成本、提高靈活性和降低風險&#xff0c;混合云和多云系統越來越受…

RabbitMQ 消息隊列編程

安裝與配置 安裝 RabbitMQ 讀者可以在 RabbitMQ 官方文檔中找到完整的安裝教程&#xff1a;Downloading and Installing RabbitMQ — RabbitMQ 本文使用 Docker 的方式部署。 RabbitMQ 社區鏡像列表&#xff1a;https://hub.docker.com/_/rabbitmq 創建目錄用于映射存儲卷…

YOLOv5 分類模型 預處理 OpenCV實現

YOLOv5 分類模型 預處理 OpenCV實現 flyfish YOLOv5 分類模型 預處理 PIL 實現 YOLOv5 分類模型 OpenCV和PIL兩者實現預處理的差異 YOLOv5 分類模型 數據集加載 1 樣本處理 YOLOv5 分類模型 數據集加載 2 切片處理 YOLOv5 分類模型 數據集加載 3 自定義類別 YOLOv5 分類模型…

Bin、Hex、ELF、AXF的區別

1.Bin Bin文件是最純粹的二進制機器代碼, 或者說是"順序格式"。按照assembly code順序翻譯成binary machine code&#xff0c;內部沒有地址標記。Bin是直接的內存映象表示&#xff0c;二進制文件大小即為文件所包含的數據的實際大小。 BIN文件就是直接的二進制文件&…

關于python 語音轉字幕,字幕轉語音大雜燴

文字轉語音 Python語音合成之第三方庫gTTs/pyttsx3/speech橫評(內附使用方法)_python_腳本之家 代碼示例 from gtts import gTTStts gTTS(你好你在哪兒&#xff01;,langzh-CN)tts.save(hello.mp3)import pyttsx3engine pyttsx3.init() #創建對象"""語速"…

目前比較好用的護眼臺燈,小學生適合的護眼臺燈推薦

隨著技術的發展&#xff0c;燈光早已成為每家每戶都需要的東西。但是燈光不好可能會對眼睛造成傷害是很多人沒有注意到的。現在隨著護眼燈產品越來越多&#xff0c;市場上臺燈的選擇越來越多樣化&#xff0c;如何選擇一個對眼睛無傷害、無輻射的臺燈成為許多家長首先要考慮的問…

【C++初階】四、類和對象(構造函數、析構函數、拷貝構造函數、賦值運算符重載函數)

相關代碼gitee自取&#xff1a; C語言學習日記: 加油努力 (gitee.com) 接上期&#xff1a; 【C初階】三、類和對象 &#xff08;面向過程、class類、類的訪問限定符和封裝、類的實例化、類對象模型、this指針&#xff09; -CSDN博客 引入&#xff1a;類的六個默認成員函數…

如何使用springboot服務端接口公網遠程調試——實現HTTP服務監聽

&#x1f308;個人主頁&#xff1a;聆風吟 &#x1f525;系列專欄&#xff1a;網絡奇遇記、Cpolar雜談 &#x1f516;少年有夢不應止于心動&#xff0c;更要付諸行動。 文章目錄 &#x1f4cb;前言一. 本地環境搭建1.1 環境參數1.2 搭建springboot服務項目 二. 內網穿透2.1 安裝…

ATA-2042高壓放大器在細胞的剪切應力傳感器研究中的應用

微流控技術是一種通過微小的通道和微型裝置對流體進行精確操控和分析的技術。它是現代醫學技術發展過程中的一種重要的生物醫學工程技術&#xff0c;具有廣泛的應用前景和重要性。它在高通量分析、個性化醫療、細胞篩選等方面有著巨大的潛力&#xff0c;Aigtek安泰電子今天就將…

.Net面試題4

1.請解釋一下泛型&#xff08;Generics&#xff09;在C#中的作用。 泛型是一種將數據類型參數化的機制&#xff0c;使得代碼可以在編譯時具有更強的類型安全性和靈活性。C#中的泛型可以用于類、接口、方法等的定義和實例化。泛型允許在編寫代碼時使用具有不同實參的類型&#x…

HR8833 雙通道H橋電機驅動芯片

HR8833為玩具、打印機和其它電機一T化應用提供一種雙通道電機驅動方案。HR8833提供兩種封裝&#xff0c;一種是帶有L露焊盤的TSSOP-16封裝&#xff0c;能改進散熱性能&#xff0c;且是無鉛產品&#xff0c;引腳框采用100&#xff05;無錫電鍍。另一種封裝為SOP16&#xff0c;不…

智駕芯片全矩陣「曝光」,這家企業的車載品牌正式官宣

隨著汽車智能化加速&#xff0c;智能駕駛芯片格局逐漸清晰。 針對L0-L2&#xff0c;業內基本采用智能前視一體機方案&#xff1b;要實現高速NOA、城市NOA等更為高階的智駕功能等&#xff0c;則基本采用域控制器方案。從前視一體機至域控&#xff0c;再逐步演進到艙駕一體、中央…

python基于DETR(DEtection TRansformer)開發構建鋼鐵產業產品智能自動化檢測識別系統

在前文中我們基于經典的YOLOv5開發構建了鋼鐵產業產品智能自動化檢測識別系統&#xff0c;這里本文的主要目的是想要實踐應用DETR這一端到端的檢測模型來開發構建鋼鐵產業產品智能自動化檢測識別系統。 DETR (DEtection TRansformer) 是一種基于Transformer架構的端到端目標檢…