Restore IP Addresses - Leetcode
来源:互联网 发布:php工作原理 编辑:程序博客网 时间:2024/06/06 15:47
public class Solution { public List<String> restoreIpAddresses(String s) { List<String> result = new ArrayList<>(); String ip = ""; restoreIpAddressesHelper(s,result,ip,0,0); return result; } private void restoreIpAddressesHelper(String s, List<String> result, String ip, int index, int step){ //end condition if(step == 4 && index == s.length()){ result.add(ip.substring(0,ip.length()-1)); return; } //convergence condition if(s.length()-index > (4-step)*3) return; if(s.length()-index < (4-step)) return; //procedure int num=0; for(int i=index; i<index+3 && i<s.length(); i++){ num = num*10+(s.charAt(i)-'0'); if(num<256){ ip += s.charAt(i); restoreIpAddressesHelper(s,result,ip+'.',i+1,step+1); } if(num == 0) break; } }}
分析:给定一个数字的string 数组,返回所有可能的IP地址。深搜确定结果,同时回溯获取所有可能的结果。
DP思路,前一个确定的片段都会影响下一个片段的结果,但是没有规律可循。DP失败
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)
0 0
- LeetCode: Restore IP Addresses
- LeetCode : Restore IP Addresses
- [LeetCode] Restore IP Addresses
- [LeetCode]Restore IP Addresses
- LeetCode:Restore IP Addresses
- LeetCode Restore IP Addresses
- [leetcode] Restore IP Addresses
- LeetCode:Restore IP Addresses
- [LeetCode] Restore IP Addresses
- LeetCode - Restore IP Addresses
- LeetCode | Restore IP Addresses
- 【leetcode】Restore IP Addresses
- Leetcode: Restore IP Addresses
- leetcode Restore IP Addresses
- leetcode Restore IP Addresses
- [LeetCode] Restore IP Addresses
- Leetcode: Restore IP Addresses
- [LeetCode] Restore IP Addresses
- AdaBoost--从原理到实现
- C递归版的全排列和组合算法
- Leetcode--Find Peak Element
- C语言学习六Linux基本命令的学习
- Android 内存管理 - Low Memory killer & OOM
- Restore IP Addresses - Leetcode
- linux 重定向命令
- QtAndroid详解(4):JNI调用Android系统功能(1)
- Python中lxml模块的安装
- 积累代码day1
- CSS变量试玩儿
- 2015-2-11
- 非安全传输协议前提下,Open API安全协议设计
- 管理学定律十:罗森塔尔效应与虚假同感偏差