摘要:題目描述題目理解將一段字符廣度搜索截取,分別有種組合形式,添加限制條件,過(guò)濾掉不適合的組合元素。長(zhǎng)度,大小,首字母應(yīng)用如果進(jìn)行字符串的子元素組合窮舉,可以應(yīng)用。所有的循環(huán),利用到前一個(gè)狀態(tài),都可以理解為動(dòng)態(tài)規(guī)劃的一種分支
題目描述:Given a string containing only digits, restore it by returning all possible valid IP address combinations.
Example: Input: "25525511135" Output: ["255.255.11.135", "255.255.111.35"]
題目理解:
將一段字符str廣度搜索截取,分別有n種組合形式,添加限制條件,過(guò)濾掉不適合的組合元素。 長(zhǎng)度,大小,首字母
應(yīng)用:如果進(jìn)行字符串的子元素組合窮舉,可以應(yīng)用。
所有的for循環(huán),利用到前一個(gè)狀態(tài),都可以理解為動(dòng)態(tài)規(guī)劃的一種分支
import copy class Solution: def restoreIpAddresses(self, s): """ :type s: str :rtype: List[str] """ lens=[1,2,3] combinations_all=[] combinations_return=[] def bfs(len_cur,s_cur,combinations_in): for len_iter in lens: combinations_in_copied=copy.deepcopy(combinations_in) len_left_over=len_cur-len_iter id_cur=s_cur[:len_iter] if id_cur and int(id_cur)>255: return # print(id_cur) # combinations_in.append(id_cur) combinations_in_copied.append(id_cur) if len(combinations_in_copied)<=4: if len_left_over == 0 and len(combinations_in_copied)==4: combinations_in_copied=list(filter(lambda x:not (len(x)>1 and x.startswith("0")),combinations_in_copied)) if len(combinations_in_copied)==4: # print("combinations_in_copied==>",combinations_in_copied) combinations_in_copied=[str(elem_iter) for elem_iter in combinations_in_copied] elem=".".join(combinations_in_copied) combinations_return.append(elem) # combinations_all.append(combinations_in_copied) return elif len_left_over<0: return else: bfs(len_left_over,s_cur[len_iter:],combinations_in_copied) else: return bfs(len(s),s,combinations_all) # print(combinations_return) return combinations_return
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44762.html
摘要:以剩下的字符串,當(dāng)前字符串,剩余單元數(shù)傳入下一次遞歸。結(jié)束條件字符串長(zhǎng)度為,并且剩余單元數(shù)為 Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example:Given 25525511135, return [2...
摘要:題目要求返回字符串能夠組成的所有地址。思路與代碼地址由位二進(jìn)制數(shù)字構(gòu)成,一共分為個(gè)區(qū)間,每個(gè)區(qū)間位。那么我們只要?jiǎng)澐殖鲞@四個(gè)區(qū)間,然后判斷這四個(gè)區(qū)間的值是否符合標(biāo)準(zhǔn)即可。 題目要求 Given a string containing only digits, restore it by returning all possible valid IP address combinatio...
Problem Given a string containing only digits, restore it by returning all possible valid IP address combinations. Example: Input: 25525511135Output: [255.255.11.135, 255.255.111.35] Solution class So...
摘要:在中,提供模塊,以實(shí)現(xiàn)域名查找及域名解析的處理。方法用于將一個(gè)域名解析為一組記錄。記錄是域名服務(wù)器記錄,用來(lái)指定該域名由哪個(gè)服務(wù)器進(jìn)行解析?;卣{(diào)函數(shù)有兩個(gè)參數(shù),是域名解析失敗時(shí)觸發(fā)的錯(cuò)誤對(duì)象,參數(shù)為一個(gè)數(shù)組,其中存放了所有獲取到的記錄。 1. DNS 在Node.js中,提供DNS模塊,以實(shí)現(xiàn)域名查找及域名解析的處理。 在DNS模塊中,提供了三個(gè)主方法及一系列便捷方法。 reso...
摘要:?jiǎn)栴}提出在使用開發(fā)網(wǎng)絡(luò)程序時(shí),有時(shí)候我們需要知道本機(jī)在局域網(wǎng)中的地址。在平臺(tái)上同樣可以使用來(lái)實(shí)現(xiàn)獲得機(jī)器在局域網(wǎng)內(nèi)地址的功能。 1、問(wèn)題提出 在使用 Java 開發(fā)網(wǎng)絡(luò)程序時(shí),有時(shí)候我們需要知道本機(jī)在局域網(wǎng)中的 IP 地址。很常見的一種做法是調(diào)用本地命令(比如 Windows 上的 ipconfig 命令和 Linux 上的 ifconfig 命令),接著解析本地命令的輸出,最后得到本...
閱讀 724·2021-11-22 13:52
閱讀 1532·2021-09-27 13:36
閱讀 2834·2021-09-24 09:47
閱讀 2193·2021-09-22 15:48
閱讀 3609·2021-09-22 15:39
閱讀 1475·2019-08-30 12:43
閱讀 2929·2019-08-29 18:39
閱讀 3197·2019-08-29 12:51