Algorithms—93.Restore IP Addresses
2015-07-10 19:05
591 查看
思路:IP地址限制3位,取3个断点,保证前3位每位在1-3位,然后进行验证,通过验证的存进来。
耗时:288ms,中上游。
耗时:288ms,中上游。
public class Solution { public List<String> restoreIpAddresses(String s) { List<String> answerList=new ArrayList<String>(); for (int i = 1; i <=3; i++) { for (int j = 1; j <=3; j++) { for (int k = 1; k <=3; k++) { int[] a={i,j,k}; if (i+j+k<s.length()) { String t=new Solution().validate(s, a); if (!(t.equals(""))) { answerList.add(t); } } } } } return answerList; } public String validate(String s,int[] a){ String s4=s.substring(a[0]+a[1]+a[2],s.length()); if (s4.length()>3||(s4.length()>1&&s4.substring(0, 1).equals("0"))||Integer.parseInt(s4)>255) { return ""; } String s1=s.substring(0,a[0]); String s2=s.substring(a[0],a[0]+a[1]); String s3=s.substring(a[0]+a[1],a[0]+a[1]+a[2]); if ((s3.length()>1&&s3.substring(0, 1).equals("0"))||(s2.length()>1&&s2.substring(0, 1).equals("0"))||(s1.length()>1&&s1.substring(0, 1).equals("0"))||Integer.parseInt(s3)>255||Integer.parseInt(s2)>255||Integer.parseInt(s1)>255) { return ""; } return s1+"."+s2+"."+s3+"."+s4; } }
相关文章推荐
- UVA225 Golygons 黄金图形(dfs+回溯)
- WordPress 为分类添加图片的插件:Categories Images
- Algorithms—179.Largest Number
- Go语言interface的value.(type)使用小技巧
- WinCE开机Logo的实现(USB下载图片到nandflash)
- WinCE开机Logo的实现(USB下载图片到nandflash)
- Google浏览器中的开发工具.
- golang版的crontab
- Codeforces Beta Round #96 (Div. 1) C. Logo Turtle (DP)
- Good vs Evil
- golang实现wav文件转换为mp3文件
- Go语言锁的解读
- Go语言的排它锁sync.Mutex
- log4j的category属性
- Category
- 关于Go语言,自定义结构体标签的一个妙用.
- 关于csv数据如何导入mongo的historicialQuotes的命令导入方式
- go 语言学习笔计之结构体
- Category
- google guava使用例子/示范(一)