LeetCode——Restore IP Addresses
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)
题目是给一个string,划分合理的ip的地址并给出包含所有合理的ip地址的list,我们知道ip地址的组成是4个部分,合理的范围是0.0.0.0~255.255.255.255。
代码主要有两个函数:
isValid——验证是否合理,如果开头是0则这个串必须是0,否则必须大于0小于255;
dfs——使用深搜的方式,搜索所有可能的组合;
所以用DFS的方式,搜索所有可能的组合,每一次搜索至第四个部分的时候,如果也是valid的话,那么这是一个合理的IP,添加到结果列表里
注意一下生成IP的细节, 添加 . 什么的。
Python代码如下:
 class RestoreIPAddress:
     def isValid(self, src):
         if src[0] == '':
             return src == ''
         return 255 >= int(src) > 0
     def dfs(self, src, temp, res, count):
         if count == 3 and self.isValid(src):
             res.append(temp + src)
             return
         for i in range(1, min(4, len(src))):
             sub = src[0:i]
             if self.isValid(sub):
                 self.dfs(src[i:], temp + sub + '.', res, count + 1)
     def restoreIpAddresses(self, s):
         if len(s) < 4 or len(s) > 12:
             return []
         res = []
         self.dfs(s, "", res, 0)
         # print(res)
         return res
 p = RestoreIPAddress()
 p.restoreIpAddresses("")
LeetCode——Restore IP Addresses的更多相关文章
- LeetCode: Restore IP Addresses  解题报告
		
Restore IP Addresses My Submissions Question Solution Given a string containing only digits, restore ...
 - [LeetCode] Restore IP Addresses  复原IP地址
		
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
 - [leetcode]Restore IP Addresses @ Python
		
原题地址:https://oj.leetcode.com/problems/restore-ip-addresses/ 题意: Given a string containing only digit ...
 - [LeetCode] Restore IP Addresses 回溯
		
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
 - LeetCode Restore IP Addresses
		
DFS class Solution { public: vector<string> restoreIpAddresses(string s) { return insertDot(s, ...
 - leetcode 93. Restore IP Addresses(DFS, 模拟)
		
题目链接 leetcode 93. Restore IP Addresses 题意 给定一段序列,判断可能组成ip数的所有可能集合 思路 可以采用模拟或者DFS的想法,把总的ip数分成四段,每段判断是 ...
 - 【leetcode】Restore IP Addresses
		
Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...
 - 【LeetCode】93. Restore IP Addresses
		
Restore IP Addresses Given a string containing only digits, restore it by returning all possible val ...
 - LeetCode解题报告—— Reverse Linked List II & Restore IP Addresses & Unique Binary Search Trees II
		
1. Reverse Linked List II Reverse a linked list from position m to n. Do it in-place and in one-pass ...
 
随机推荐
- Linux & Mac curl 命令行使用——POST&GET
			
http提交一个表单,比較经常使用的是POST模式和GET模式 在curl的命令行下,GET模式什么option都不用.仅仅须要把变量写在url里面就能够了 比方: curl http://www.s ...
 - gcc -I -L -l区别
			
我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录: 例: gcc -o hello hello.c -I /home/hello/inc ...
 - 根据IP地址获取IP的详细信息
			
<?php header('Content-Type:text/html; charset=utf-8'); function ip_data() { $ip = GetIP(); $url = ...
 - 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)
			
数据分布图简介 中医上讲看病四诊法为:望闻问切.而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样:闻:仔细分析数据是否合理:问:针对前两步工作搜集到的问题与业务方交流:切:结合业务方 ...
 - ViewPager滑动特效实现
			
ewPager最常用于结合Fragment,这是一个方便的方式来供应和管理每个页面的生命周期. MainAcitivity的代码 import java.util.ArrayList; import ...
 - (转)模板引擎类dedetemplate.class.php使用说明
			
1.概述 织梦的模板标签类似于XML格式,所有的模板都含有定界符,默认情况下是{dede:*}和{/dede:*},“*”代表模板标记名称. 一般情况下{dede:*}和{/dede:*}是成对出现的 ...
 - OC - 10.使用Quartz2D绘制个性头像
			
效果图 将一张图片剪切成圆形 在图片周围显示指定宽度和颜色的边框 实现思路 效果图中主要由不同尺寸的两大部分组成 蓝色的背景区域,尺寸等于图片的尺寸加上边框的尺寸 图片区域,尺寸等于图片的尺寸 绘 ...
 - Char Varchar Nvarchar区别
			
char和varchar是一样的字符型,不同在于,varchar比char更灵活,精确,且不占内存空间,当你取同样的字符时,char会在该字符后面加上空格,而varchar则只取得这个字符,比如有字段 ...
 - 安卓开发入门之activity
			
安卓开发主要用到的是java语言,对于一个activity,自己写的程序可以继承至Activity,该Activity先会运行一个叫 onCreat()的类,可以在其中申明一些初始化的函数等,这个函数 ...
 - 你好,C++(39)6.4.4  依葫芦画瓢:用C++表达设计结果(下)
			
6.4.4 依葫芦画瓢:用C++表达设计结果 完成上面的分析与设计之后,小陈感觉已经成竹在胸胜利在望了.他知道,只要完成了程序中的类以及类之间关系的分析和设计,整个程序就相当于已经完成了一大半.接下 ...