博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode-93-复原ip地址
阅读量:4638 次
发布时间:2019-06-09

本文共 1610 字,大约阅读时间需要 5 分钟。

题目描述:

方法一:暴力法

class Solution:     def restoreIpAddresses(self, s: str) -> List[str]:         n = len(s)         res = [] # 判读是否满足ip的条件         def helper(tmp):             if not tmp or (tmp[0] == "0" and len(tmp) > 1) or int(tmp) > 255:                 return False             return True         # 三个循环,把数字分成四份         for i in range(3):             for j in range(i + 1, i + 4):                 for k in range(j + 1, j + 4):                     if i < n and j < n and k < n:                         tmp1 = s[:i + 1]                         tmp2 = s[i + 1:j + 1]                         tmp3 = s[j + 1:k + 1]                         tmp4 = s[k + 1:]                         # print(tmp1, tmp2, tmp3, tmp4)                         if all(map(helper, [tmp1, tmp2, tmp3, tmp4])):                             res.append(tmp1 + "." + tmp2 + "." + tmp3 + "." + tmp4)         return res

方法二;回溯

class Solution:     def restoreIpAddresses(self, s: str) -> List[str]:         res = []         n = len(s)         def backtrack(i, tmp, flag):             if i == n and flag == 0:                 res.append(tmp[:-1])                 return             if flag < 0:                 return             for j in range(i, i + 3):                if j < n:                     if i == j and s[j] == "0":                         backtrack(j + 1, tmp + s[j] + ".", flag - 1)                         break                     if 0 < int(s[i:j + 1]) <= 255:                         backtrack(j + 1, tmp + s[i:j + 1] + ".", flag - 1)         backtrack(0, "", 4)         return res

 

转载于:https://www.cnblogs.com/oldby/p/11181358.html

你可能感兴趣的文章
CDMA鉴权
查看>>
ASP.NET MVC Identity 兩個多個連接字符串問題解決一例
查看>>
过滤器与拦截器区别
查看>>
USACO 1.5.4 Checker Challenge
查看>>
第二阶段站立会议7
查看>>
[18]Debian Linux Install GNU GCC Compiler and Development Environment
查看>>
JAVA多线程
查看>>
ACE(Adaptive Communication Environment)介绍
查看>>
delphi 更改DBGrid 颜色技巧
查看>>
python编码问题
查看>>
POJ 2031 Building a Space Station
查看>>
面向对象1
查看>>
编程开发之--java多线程学习总结(5)
查看>>
register_globals(全局变量注册开关)
查看>>
as3调用外部swf里的类的方法
查看>>
如何让 zend studio 10 识别 Phalcon语法并且进行语法提示
查看>>
任意阶幻方(魔方矩阵)C语言实现
查看>>
视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库
查看>>
第五次作业
查看>>
织梦教程
查看>>