由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一道面试题
相关主题
问道看到的面试题google interview question
一个算法题目一个Google面试题
word break 2的时间复杂度是多少 这个解法急问一个面试题,不知该如何回答?请高人给个思路!谢谢!
两个面试题感觉这是一道经典题
返回字符串所有的 combination请教一道面试题
leetcode的Text Justification的OJ问个程序题10个包子
G 家电面题目, 欢迎讨论!unique binary search II 这题目recursive解法可以么?复杂度是多少?
java remove elements in collections时间复杂度 2钟方法一样么请教下3sum为撒超时
相关话题的讨论汇总
话题: string话题: collection话题: list话题: arraylist话题: 方法
进入JobHunting版参与讨论
1 (共1页)
w**********4
发帖数: 157
1
输入是 一个 String s, S中 可能含有 “*”. "*" 可以被替换成1 或者 0
For example : "*" output "1", "0".
当时写了下面这个方法。
public static Collection getAllDecodes(String input) {
Collection list = new ArrayList();
list.add(input);
while (list.size() != 0) {
Collection res = new ArrayList();
for (String str : list) {
if (str.contains("*")) {
res.add(str.replaceFirst("\*", "1"));
res.add(str.replaceFirst("\*", "0"));
}
}
if (res.size() != 0) {
list = res;
} else {
return list;
}
}
return list;
}
这个方法的时间复杂度是O(2^n). 所有面试官问如果输串中有2^80 个 “*” 这个方
法就解决不了问题了。
所有想问一下,有什么好的方法可以处理长串输入情况。
谢谢大家。
z***b
发帖数: 127
2
1. 首先找出string中有*的所有index.比如有三个*,位置是 1, 3, 5.
2. 然后把从000开始 加一,一直加到111,没此一次加一就把相应索引的字符替换一下
并且输出。
这样空间开销应该是const的。
1 (共1页)
进入JobHunting版参与讨论
相关主题
请教下3sum为撒超时返回字符串所有的 combination
问一道glassdoor上面的面试题leetcode的Text Justification的OJ
LinkedIn 面试题讨论G 家电面题目, 欢迎讨论!
请教一道amazon onsite的题java remove elements in collections时间复杂度 2钟方法一样么
问道看到的面试题google interview question
一个算法题目一个Google面试题
word break 2的时间复杂度是多少 这个解法急问一个面试题,不知该如何回答?请高人给个思路!谢谢!
两个面试题感觉这是一道经典题
相关话题的讨论汇总
话题: string话题: collection话题: list话题: arraylist话题: 方法