[Swift]LeetCode93. 复原IP地址 | Restore IP Addresses

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

时间: 2024-11-09 00:54:29

[Swift]LeetCode93. 复原IP地址 | Restore IP Addresses的相关文章

思科交换机 查看某个端口下的IP地址 及 IP查交换机端口

交换机端口 查IP地址 1.进入交换机特权模式  查 F0/10 端口的 MAC地址 #:show mac-address-table interface F0/17 Mac Address Table ------------------------------------------- Vlan    Mac Address       Type        Ports ----    -----------       --------    ----- 200    2857.be99

python之IP地址或IP段处理模块-ipaddr

python处理IP和IP段的模块基本有两个:IPy与ipaddr IPy基本处理8位.16位.24位掩码的网段,其他的网段处理起来就会出现问题. ipaddr是google出的一个模块,很好的可以处理模块IPy不能解决这个问题,所以建议使用模块ipaddr! 模块地址:http://pythonhosted.org/ipaddr/ 使用介绍: Class总共分为:BaseIP.IPv4.IPv6 ipaddr.IPv4Network()    ipv4网段对象建立 ipaddr.IPv6Net

获取ip地址&amp;&amp;测试ip地址

# request# 动态页面加载 Selenium# request# 响应类型为 json# import json # json.loads(str) # 将str转化为dict# json.dumps(dict) # 将dict转化为 str #获取ip地址开始import requestsfrom fake_useragent import UserAgent #代理from lxml.etree import HTML #获取htmlimport time,pickle #包#常见的

[Swift]LeetCode468. 验证IP地址 | Validate IP Address

Write a function to check whether an input string is a valid IPv4 address or IPv6 address or neither. IPv4 addresses are canonically represented in dot-decimal notation, which consists of four decimal numbers, each ranging from 0 to 255, separated by

题目1203:IP地址-----------------把IP地址当成四个数字来输入就简单了很多

#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { while(n--) { int a,b,c,d; scanf("%d.%d.%d.%d",&a,&b,&c,&d); if ((a>-1 && a<256)&&(b>-1 && b<256)&&

[LeetCode] Restore IP Addresses 复原IP地址

Given a string containing only digits, restore it by returning all possible valid IP address combinations. For example:Given "25525511135", return ["255.255.11.135", "255.255.111.35"]. (Order does not matter) 这道题要求是复原IP地址,IP地

为VMware虚拟机内安装的Ubuntu 16.04设置静态IP地址【转】

1.安装环境VMware 10.0.4 build-2249910Ubuntu 16.04 x86_64 2.在VMware中,配置网络环境VMware在默认安装完成之后,会创建三个虚拟的网络环境:VMnet0.VMnet1和VMnet8.其类型分别为:桥接网络,Host-only和NAT.其中,NAT表示VMWware内安装的Ubuntu将会在一个子网中,VMware通过网络地址转换,通过物理机的IP上网.这里,我们选择NAT方式,来实现Ubuntu的静态IP地址配置.打开VMware,在顶部

浮动IP地址(Float IP)与 ARP欺骗技术

浮动IP地址: 一个网卡是可以添加多个IP的. 就是多个主机工作在 同一个集群中,即两台主机以上.每台机器除了自己的实IP外,会设置一个浮动IP,浮动IP与主机的服务(HTTP服务/邮箱服务)绑在一起的.即应用服务在哪台机器上启动,浮动IP也在这台机器上激活,这台机器看上去就有两个IP地址.对于客户端它只需访问浮动IP即可. 即使主机端的机器由于故障发生切换,客户端只要连接上浮动IP,就可以找到主机端的服务. 好处就是一旦其中一台机器不能工作了,可以很快的将服务切换到另外一台主机上.提高系统的冗

[转帖]在 RHEL8 配置静态 IP 地址的不同方法

在 RHEL8 配置静态 IP 地址的不同方法 https://linux.cn/article-11390-1.html nmtui nmcli 命令和修改参数文件的方式. 作者: Pradeep Kumar 译者: LCTT heguangzhi | 2019-09-25 22:28 在 Linux 服务器上工作时,在网卡/以太网卡上分配静态 IP 地址是每个 Linux 工程师的常见任务之一.如果一个人在 Linux 服务器上正确配置了静态地址,那么他/她就可以通过网络远程访问它.在本文中