Redian新闻
>
决定把门口两棵松树砍了
avatar
决定把门口两棵松树砍了# Living
e*s
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%正确? 正确的做法应该是怎么样了?
avatar
c*u
2
离房子0距离,把二楼窗户都挡上了。砍树的说得树得有50年了,有什么要注意的么?
Servicemagic上找了两家都报价400,第二家打来电话时我还到了350。
★ 发自iPhone App: ChineseWeb - 中文网站浏览器
avatar
f*n
3
hash collision影响performance。不影响是否正确。
就算你有很烂的hash function,所有东西的hashCode都是一样。这样hash table就变
成linked list。加东西要O(n)。但是还是正确。
avatar
r*a
4
这么便宜???管磨根么

【在 c*******u 的大作中提到】
: 离房子0距离,把二楼窗户都挡上了。砍树的说得树得有50年了,有什么要注意的么?
: Servicemagic上找了两家都报价400,第二家打来电话时我还到了350。
: ★ 发自iPhone App: ChineseWeb - 中文网站浏览器

avatar
e*s
5
非常感谢,学艺不精,惭愧。。。

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

avatar
c*u
6
俺没有问的那么专业就问是不是completely remove stump?是不是之后直接铺mulch就
行了,他说是。不磨会怎么样?我就担心树太近影响房子地基,remove tree or not。

★ 发自iPhone App: ChineseWeb - 中文网站浏览器

【在 r*****a 的大作中提到】
: 这么便宜???管磨根么
avatar
f*t
7
而且这题明显不需要hashset

【在 e***s 的大作中提到】
: 非常感谢,学艺不精,惭愧。。。
avatar
a*y
8
这个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);
avatar
h*e
9
一般这些生成各种组合之类的题目都不应该用hash之类的数据结构来避免
重复,一用就不可能最优。通解应该是生成各种组合的自身过程中就能够
保证不重复。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。