摘要:题目描述题目理解将一段字符广度搜索截取,分别有种组合形式,添加限制条件,过滤掉不适合的组合元素。长度,大小,首字母应用如果进行字符串的子元素组合穷举,可以应用。所有的循环,利用到前一个状态,都可以理解为动态规划的一种分支
题目描述: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种组合形式,添加限制条件,过滤掉不适合的组合元素。 长度,大小,首字母
应用:如果进行字符串的子元素组合穷举,可以应用。
所有的for循环,利用到前一个状态,都可以理解为动态规划的一种分支
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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/44762.html
摘要:以剩下的字符串,当前字符串,剩余单元数传入下一次递归。结束条件字符串长度为,并且剩余单元数为 Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example:Given 25525511135, return [2...
摘要:题目要求返回字符串能够组成的所有地址。思路与代码地址由位二进制数字构成,一共分为个区间,每个区间位。那么我们只要划分出这四个区间,然后判断这四个区间的值是否符合标准即可。 题目要求 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...
摘要:在中,提供模块,以实现域名查找及域名解析的处理。方法用于将一个域名解析为一组记录。记录是域名服务器记录,用来指定该域名由哪个服务器进行解析。回调函数有两个参数,是域名解析失败时触发的错误对象,参数为一个数组,其中存放了所有获取到的记录。 1. DNS 在Node.js中,提供DNS模块,以实现域名查找及域名解析的处理。 在DNS模块中,提供了三个主方法及一系列便捷方法。 reso...
摘要:问题提出在使用开发网络程序时,有时候我们需要知道本机在局域网中的地址。在平台上同样可以使用来实现获得机器在局域网内地址的功能。 1、问题提出 在使用 Java 开发网络程序时,有时候我们需要知道本机在局域网中的 IP 地址。很常见的一种做法是调用本地命令(比如 Windows 上的 ipconfig 命令和 Linux 上的 ifconfig 命令),接着解析本地命令的输出,最后得到本...
阅读 678·2021-11-22 13:52
阅读 1482·2021-09-27 13:36
阅读 2791·2021-09-24 09:47
阅读 2106·2021-09-22 15:48
阅读 3561·2021-09-22 15:39
阅读 1424·2019-08-30 12:43
阅读 2895·2019-08-29 18:39
阅读 3145·2019-08-29 12:51