由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - HashSet是不是不靠谱?
相关主题
问一leetcode题,为什么要resize。题目Generate Parentheses。5分钟前G的电面
这个Generate Parentheses非递归的方法咋写一道facebook面试题
有人能解释下Generate Parentheses的DP解法么?问个常见算法题的变形
问个string combination的问题问个java hashcode的题
请教一道面试题google 电面面经
请教一道公司面试题弱弱的问问intersection, union of two arrays or two sets ?
曾经fail掉的一个电话面试以及题目请教一个hashset的问题
不改变排序的hash算法?一道面试题和解法(求指点).
相关话题的讨论汇总
话题: str话题: hashset话题: result话题: 靠谱
进入JobHunting版参与讨论
1 (共1页)
e***s
发帖数: 799
1
最近做题和看板上的帖子,个人觉得hash这个东西用来删除或避免重复是不是不靠谱。
因为有conflict。
比如一道leetcode的题
Generate Parentheses
//Given n pairs of parentheses, write a function to generate all
combinations of well-formed parentheses.
//For example, given n = 3, a solution set is:
//"((()))", "(()())", "(())()", "()(())", "()()()"
我想用DP,每次在前一个结果基础上 左边加"()",右边加"(),再把整个"(" + result
+ ")".
用HashSet来存放结果,每次加的时候自动排除重复。
我想问HashSet是不是不能保证100%正确? 正确的做法应该是怎么样了?
f*******n
发帖数: 12623
2
hash collision影响performance。不影响是否正确。
就算你有很烂的hash function,所有东西的hashCode都是一样。这样hash table就变
成linked list。加东西要O(n)。但是还是正确。
e***s
发帖数: 799
3
非常感谢,学艺不精,惭愧。。。

【在 f*******n 的大作中提到】
: hash collision影响performance。不影响是否正确。
: 就算你有很烂的hash function,所有东西的hashCode都是一样。这样hash table就变
: 成linked list。加东西要O(n)。但是还是正确。

f*******t
发帖数: 7549
4
而且这题明显不需要hashset

【在 e***s 的大作中提到】
: 非常感谢,学艺不精,惭愧。。。
a*******y
发帖数: 1040
5
这个recursion吧,随便写了下,可能有bug
void GenerateParenthesis(int left,int right, int level, string str, vector<
string> &result)
{
if(left ==0 && right ==0)
{
result.push_back(str)
return;
}
if (left > 0)
{
str[level] = ')';
GenerateParenthesis(left -1, right + 1,level+1, str, result);
}
if (right > 0)
{
str[level] = '(';
GenerateParenthesis(left, right -1,level+1, str, result);
}
return;
}
call this function with
string str(2*n,'\0');
vector result;
GenerateParentesis(n,0,0,str,result);
h****e
发帖数: 928
6
一般这些生成各种组合之类的题目都不应该用hash之类的数据结构来避免
重复,一用就不可能最优。通解应该是生成各种组合的自身过程中就能够
保证不重复。
1 (共1页)
进入JobHunting版参与讨论
相关主题
一道面试题和解法(求指点).请教一道面试题
请教一个 Set 的Java面试题请教一道公司面试题
问个Java的HashSet.contains的问题曾经fail掉的一个电话面试以及题目
打车公司一题求解不改变排序的hash算法?
问一leetcode题,为什么要resize。题目Generate Parentheses。5分钟前G的电面
这个Generate Parentheses非递归的方法咋写一道facebook面试题
有人能解释下Generate Parentheses的DP解法么?问个常见算法题的变形
问个string combination的问题问个java hashcode的题
相关话题的讨论汇总
话题: str话题: hashset话题: result话题: 靠谱