题目描述:

方法一:暴力法

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

leetcode-93-复原ip地址相关推荐

  1. LeetCode 93. 复原 IP 地址【字符串,回溯算法】

    93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201" ...

  2. LeetCode 93. 复原IP地址(回溯)

    1. 题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135&q ...

  3. leetcode 93. 复原IP地址 思考分析

    题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255之间组成,且不能含有前导 0),整数之间用 '.' 分隔. ...

  4. 多看看把,条件太多了--leetcode 93. 复原 IP 地址

    难度:中等 频次:62 题目: 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201&quo ...

  5. 142. Leetcode 93. 复原 IP 地址 (回溯算法-切割问题)

    分析剪枝条件: 1.一开始,字符串的长度小于 4 或者大于 12 ,一定不能拼凑出合法的 ip 地址(这一点可以一般化到中间结点的判断中,以产生剪枝行为); 2.每一个结点可以选择截取的方法只有 3 ...

  6. leetcode 93.复原IP地址 dfs解法

    给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135", ...

  7. LeetCode 93. 复原IP地址

    思路: 回溯+剪枝 遍历字符串,先计算第一网段,分别取1 2 3位数字,并组合判断是否符合IP规范, 若符合跳至下一网段,并且索引start挪位,temp+本网段值+"." 递归 ...

  8. leetcode:491. 递增子序列、17. 电话号码的字母组合、31. 分割回文串、93. 复原 IP 地址(JavaScript)

    文章目录 491. 递增子序列 分析 去重 如何保证递增呢? 17. 电话号码的字母组合 思路: 单层递归逻辑 递归终止条件 完整代码 另一种写法 31. 分割回文串 思路:分析题目本题可分为两步 9 ...

  9. 93. 复原 IP 地址

    93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201" ...

  10. leetcode系列-93.复原 IP 地址

    leetcode系列–第93题.复原 IP 地址 题目描述:有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔.例如:" ...

最新文章

  1. node.js创建WebSocket服务,并使用原生js ES6完成对WebSocket数据交互
  2. 文轩在线:如何让IT部门成为企业的价值中心
  3. 计算机日期无法更改吗,电脑时间不能修改怎么办 电脑系统时间总是不对怎么办...
  4. lnmp 60秒的服务器缓存时间
  5. 计算机应用技术国外现状,浅析计算机应用技术的现状及发展趋势
  6. 交互式计算机图形学总结:第七章 离散技术
  7. Java虚拟机结构分析
  8. 如何从新开发的程序中提炼服务
  9. eclipse搜索框太小
  10. 如何让外网访问本地电脑(笔记本):路由映射篇
  11. ipython控制台 绘图 后端_如何面试Python后端工程师?
  12. dubbo项目引用另一个项目的接口
  13. 1024程序员节,别人家的公司真香!羡慕ing~
  14. SVN 中文工具(Tools)
  15. pyltp的使用教程
  16. wps html编辑表格,手机wps中怎样编辑表格?手机wps编辑表格的方法
  17. js插件--1.swal
  18. Web前端开发相关概念
  19. Airbin_0720
  20. 什么是银行的SWIFT代码

热门文章

  1. 2022-2028年中国廉价航空行业深度调研及投资前景预测报告
  2. RPC 笔记(06)— socket 通信(多线程服务器)
  3. dataframe,python,numpy 问题索引2
  4. EdgeBERT:极限压缩bert
  5. TensorFlow+TVM优化NMT神经机器翻译
  6. TensorFlow文本情感分析实现
  7. 接触追踪解决方案建立在UWB而不是蓝牙上
  8. 端口号被占用怎么解决
  9. JAVA中获取当前系统时间
  10. github一些常见命令