由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 高人来解这道题,帮帮忙!
相关主题
问个复杂度:leetcode题目 Restore IP Addresses这道题讨论过没有?
【leetcode restore IP address】为什么这种情况一定要用tmp?BT/BST做题心得
二爷来开讲一下用dfs的一般思路吧没看懂Leetcode这道题的答案,请指点
请教recursive backtracking问题的时间复杂度的分析leetcode Palindrome Partitioning
问个题请教一个问题
[合集] 微软面试题一道字符串中查找包含给定字符的最短子串
Permutation leetcode-谁能帮我写写这道题? print all permutations of a string
[合集] 被这道题给放翻了这道题咋做?
相关话题的讨论汇总
话题: ip话题: si话题: string话题: len话题: address
进入JobHunting版参与讨论
1 (共1页)
b********r
发帖数: 26
1
Given a file contains a list of ip address, but the dot in the ip adress
is missing. How to restore these ip address. The restored ip address means
all possible valid ip address. Should be a super set of original ip adresses.
版上没人说答案到底是什么啊?
d**********x
发帖数: 4083
2
dp嘛
开头去掉一个0-255之间的数字之后就变成了规模为3的子问题。
注意状态记录应该很容易的

adresses.

【在 b********r 的大作中提到】
: Given a file contains a list of ip address, but the dot in the ip adress
: is missing. How to restore these ip address. The restored ip address means
: all possible valid ip address. Should be a super set of original ip adresses.
: 版上没人说答案到底是什么啊?

b********r
发帖数: 26
3
可不可以说的详细点,最好能给个伪码。

【在 d**********x 的大作中提到】
: dp嘛
: 开头去掉一个0-255之间的数字之后就变成了规模为3的子问题。
: 注意状态记录应该很容易的
:
: adresses.

C***U
发帖数: 2406
4
为什么是dp?
能解释一下么?
我觉得backtack或者recursive比较自然

【在 d**********x 的大作中提到】
: dp嘛
: 开头去掉一个0-255之间的数字之后就变成了规模为3的子问题。
: 注意状态记录应该很容易的
:
: adresses.

b********r
发帖数: 26
5
有没有高人能贴段伪码上来
z****e
发帖数: 9
6
Java Code: Not tested yet
find(String s, int si, int partNo, Stack stk, List list)
{
int len = s.length();
if(si>=len)return;
if(partNo==4){
if(si String ip = s.substring(si);
if(isValidIP(ip)){
stk.push(ip);
list.add(changeToIP(stk);
stk.pop();
}
}
}
else{
for(int i=1;i<4;i++){
if(si+1<=len){
String ss = s.substring(s,si+i);
if(i<3 || isValidIP(ss)){
stk.push(ss);
find(s,si+i,partNo+1, stk,list);
stk.pop();
}
}//end for if(si+1<=len)
}//end for for loop
}//end for else
}
b********r
发帖数: 26
7
牛B!谢了!

【在 z****e 的大作中提到】
: Java Code: Not tested yet
: find(String s, int si, int partNo, Stack stk, List list)
: {
: int len = s.length();
: if(si>=len)return;
: if(partNo==4){
: if(si: String ip = s.substring(si);
: if(isValidIP(ip)){
: stk.push(ip);

i**********e
发帖数: 1145
8
好题,刚加入 OJ.
"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"].
这题其实就是著名的 word segmentation 的简化版,不会超过 3^4 = 81 种组合,不
用 dp 直接暴力搜索就行。
d**********x
发帖数: 4083
9
就是recursive
然后记录状态,应该会比单纯的回溯好一点。

【在 C***U 的大作中提到】
: 为什么是dp?
: 能解释一下么?
: 我觉得backtack或者recursive比较自然

w****x
发帖数: 2483
10

possible
别加了, 做不完了....

【在 i**********e 的大作中提到】
: 好题,刚加入 OJ.
: "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"].
: 这题其实就是著名的 word segmentation 的简化版,不会超过 3^4 = 81 种组合,不
: 用 dp 直接暴力搜索就行。

相关主题
[合集] 微软面试题一道这道题讨论过没有?
Permutation leetcode-BT/BST做题心得
[合集] 被这道题给放翻了没看懂Leetcode这道题的答案,请指点
进入JobHunting版参与讨论
d**********x
发帖数: 4083
11
差不多就行了,做那么多干啥。。

【在 w****x 的大作中提到】
:
: possible
: 别加了, 做不完了....

m*****n
发帖数: 204
12
严格地说,recursion + 中间结果记录应该叫memoization.
Bottom-up non-recursive的做法才叫dynamic programming.

【在 d**********x 的大作中提到】
: 就是recursive
: 然后记录状态,应该会比单纯的回溯好一点。

g****y
发帖数: 240
13
为啥不会超过3^4中组合?感觉应该是11^3中组合?

possible

【在 i**********e 的大作中提到】
: 好题,刚加入 OJ.
: "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"].
: 这题其实就是著名的 word segmentation 的简化版,不会超过 3^4 = 81 种组合,不
: 用 dp 直接暴力搜索就行。

t****t
发帖数: 6806
14
IP地址每一段可能有一位, 两位, 或三位.
当然你可以放小数点, 但是那也是C(11, 3), 不是11^3.
就算是11^3也没多少.

【在 g****y 的大作中提到】
: 为啥不会超过3^4中组合?感觉应该是11^3中组合?
:
: possible

h********6
发帖数: 285
15
C(10,3)对于IP的实际问题来说多了,每段最多只能3位数字,C(10,3)里很多情况不
满足这个限制。

【在 t****t 的大作中提到】
: IP地址每一段可能有一位, 两位, 或三位.
: 当然你可以放小数点, 但是那也是C(11, 3), 不是11^3.
: 就算是11^3也没多少.

d**********x
发帖数: 4083
16
多严格?
算法导论介绍dp的时候就说了两种都是。

【在 m*****n 的大作中提到】
: 严格地说,recursion + 中间结果记录应该叫memoization.
: Bottom-up non-recursive的做法才叫dynamic programming.

1 (共1页)
进入JobHunting版参与讨论
相关主题
这道题咋做?问个题
有人同看Longest Palindromic Substring 这道题么?[合集] 微软面试题一道
大牛来做一下这道题Permutation leetcode-
报个微软的Offer[合集] 被这道题给放翻了
问个复杂度:leetcode题目 Restore IP Addresses这道题讨论过没有?
【leetcode restore IP address】为什么这种情况一定要用tmp?BT/BST做题心得
二爷来开讲一下用dfs的一般思路吧没看懂Leetcode这道题的答案,请指点
请教recursive backtracking问题的时间复杂度的分析leetcode Palindrome Partitioning
相关话题的讨论汇总
话题: ip话题: si话题: string话题: len话题: address