[Swift]LeetCode93. 复原IP地址 | Restore IP Addresses
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9936814.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
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"]
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。
示例:
输入: "25525511135"
输出: ["255.255.11.135", "255.255.111.35"]
16ms
1 class Solution { 2 func restoreIpAddresses(_ s: String) -> [String] { 3 if s.characters.count < 4 || s.characters.count > 12 { 4 return [] 5 } 6 7 let characters = Array(s.characters) 8 var result = [String]() 9 var candidate = [String]() 10 11 backtracking(characters, 0, &candidate, &result) 12 13 return result 14 } 15 private func backtracking(_ characters: [Character], _ pos: Int, _ candidate: inout [String], _ result: inout [String]) { 16 if candidate.count == 4 { 17 result.append(candidate.joined(separator: ".")) 18 return 19 } 20 21 let charsLeft = characters.count - pos 22 let groupsLeft = 4 - candidate.count 23 let minLen = groupsLeft == 1 ? charsLeft - groupsLeft + 1 : 1 24 let maxLen = characters[pos] == "0" ? 1 : min(3, charsLeft - groupsLeft + 1) 25 26 if minLen > maxLen { 27 return 28 } 29 30 for len in minLen...maxLen { 31 let num = String(characters[pos..<(pos + len)]) 32 if Int(num)! > 255 { 33 continue 34 } 35 candidate.append(num) 36 backtracking(characters, pos + len, &candidate, &result) 37 candidate.removeLast() 38 } 39 } 40 }
转载于:https://www.cnblogs.com/strengthen/p/9936814.html
[Swift]LeetCode93. 复原IP地址 | Restore IP Addresses相关推荐
- 71张图详解IP 地址、IP 路由、分片和重组、三层转发、ARP、ICMP
目录 有小伙伴问:为什么没有配置 IP 地址就无法上网?IP 协议又是啥? 这要从 TCP/IP 协议说起,互联网使用的是 TCP/IP 协议,其中 IP 协议又是最重要的协议之一.IP 协议是基于 ...
- 【计算机网络】网络层 : IPv4 地址 ( IP 地址分类 | 特殊 IP 地址 | 私有 IP 地址 | A 类、B 类、C 类 IP 地址网络号主机号数量 )★
文章目录 一.IP 地址 发展 二.分类 IP 地址 三.特殊 IP 地址 四.私有 IP 地址 五.分类 IP 地址 网络号 主机数 详情 一.IP 地址 发展 IP 地址 发展 : 第一阶段 : ...
- 【OS】Linux环境下配置固定IP地址--静态IP地址(不能上外网问题)
[OS]Linux环境下配置固定IP地址--静态IP地址(不能上外网问题) ---red hat重启网卡 service network restart /etc/rc.d/init.d/networ ...
- IP地址分类/IP地址10开头和172开头和192开头的区别
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. IP地址分类/IP地址10开头和172开头和192开头的区别/判断是否同一网段 简单来说在公司或企业 ...
- ip地址简介 ip地址取值0-255 最后一位也可以为0
IPv4由32位二进制组成,平均分为4段,每段8位,中间用点隔开,用十进制表示,称为点分十进制.(每段的范围都是0-255) 一.IP地址和MAC地址 1.MAC地址 MAC(Media Access ...
- 返回本机IP地址本地IP地址,获得本机的ipv6地址,检查本机ipv4,ipv6地址的网站,域名,用于ddns
返回本机IP地址本地IP地址,获得本机的ipv6地址,检查本机ipv4,ipv6地址的网站,域名 都是我在网上找的 ipv4 https://ipv4.ddnspod.com https://api- ...
- IP属地的功能是如何实现的呢,简单实现获取ip地址和IP属地。
什么是IP地址? IP地址 IP地址是IP协议中还有一个非常重要的内容,那就是给因特网上的每台计算机和其它设备都规定了一个唯一的地址,叫做"IP地址".由于有这种唯一的地址,才保证 ...
- 解决macbook没有ip地址或者ip地址变为ipv6格式 无法上网的问题
解决macbook没有ip地址或者ip地址变为ipv6格式 无法上网的问题 法一: 1.首先 问题产生原因是由于对于ipv6的支持产生的 2.关闭ipv6 法二:苹果官方客服 首先试试: 不好使的话, ...
- 71张图详解IP地址、IP 路由、三层转发、ARP、ICMP
71张图详解IP地址.IP 路由.三层转发.ARP.ICMP 架构师之道2021-04-07 13:51:24 https://www.toutiao.com/i6948285918986027531 ...
最新文章
- 青龙羊毛——利分闪电(搬运)
- spring事务管理一:关于事务管理的接口
- 浅谈EntityFramework框架的使用
- Java字符串的十大问题
- 可视化戒烟对身体的影响!从20分钟到15年
- 双十一我们在作战室干什么?零点刚过,我偷偷提交了几行代码!
- cmake构建NNIE工程
- MySQL中select * for update锁表的范围
- Oracle11g常用数据字典(转)
- 在Eclipse里自动导入相应包的类名的快捷键
- php基本语法的几点备忘
- 服务器远程开多个桌面,远程桌面多开,远程桌面多开的工具介绍,操作方法
- php淘口令,淘口令使用说明
- 计算机英语论文摘要,★计算机英语论文摘要范文计算机英语论文摘要写(9页)-原创力文档...
- c语言小组作业报告,C语言实训总结报告范文
- 全自动与半自动手表的区别_全自动和半自动机械表的区别?
- 遇见Laravel Migrations的migrate与rollback
- 十一月月底总结及十二月展望
- Fine-grained Detection —— CAP
- 跑跑卡丁车连接不上服务器无响应,跑跑卡丁车无法连接服务器怎么办?