发泄对律师助理的不满,131 RFE# Immigration - 落地生根
j*5
1 楼
其实后来我想了一下,没想象那么简单。Leetcode上实际上没有。
给两个数组,A是Sorted,B也是Sorted,要求Merge这两个,非常简单吧?立刻想到
Leetcode的merge two sorted array和merge sorted linked list之类的。
其实不然。
有要求,要求就是merge成两个数组,一个存unique value,一个存duplicated。这基
本上是对方要求的原话,没有更多信息了。
我的错误在于没理解题意,我觉得有好几种理解方法:
假设:
A是[1, 3, 4, 4, 5, 6, 6]
B是[1, 2, 4, 5, 6, 7]
我理解成输出:
Unique Array[2, 3, 7]
Duplicate Array[1, 1, 4, 4, 4, 5, 5, 6, 6, 6]
因为原话说“把unique的value都存到一个数组,duplicate的存到另一个”,此外,
number是有意义的(每个人的身高),所以我理解为Duplicate的数字是不能随便合并
的,原题也没有任何暗示说可以合并数字。
另一种理解方式(也是interviewer的expected)是
Unique Array[1, 2, 3, 4, 5, 6, 7] (所有出现过的value "uniquely")
Duplicate Array[1, 4, 5, 6] (所有出现过的duplicate value "once only")
但是平心而论,我个人觉得这种理解其实不是很正常的思维方式,因为数据都是身高,
per person,either你保留所有的每个人的身高,or你可以统计有多少unique身高,或
是有多少duplicate身高,但是duplicated身高也要出现在Unique Array里面,尤其令
人费解。
其实还有其他理解方式,我就不提了。
所以我的最关键的错误就在于这里:理解错了题意。
当然,我最大的错误就是急于分析,而没有举例,问他expected是什么。如果我快速写
个例子,问他输出是什么,也许就可以避免这个问题了。
但是,他一直催促写代码,感觉也不是很愿意回答我的问题或是听我的分析,所以我就
慌了,只能赶紧写代码,最后就悲剧了。
其实说实话,我觉得写个trie还更不容易出事儿,就是因为再难,大家也理解你想干嘛
,trie能有什么误解?说实话,我宁愿碰什么Word Search II也不愿意碰这种题,如果
interview不愿意交流,就惨了。
其次,可能我的思维有定式,受什么“remove all duplicates from Linked List”这
种Leetcode题影响太深,自己自作聪明,以为duplicates肯定要一起都去第二个数组。
当然,我以前onsite也碰过一个类似的情景,就是一个人拿blog举例,其实是想让我实
现LRU。 LRU俺倒是会,问题是谁能想到Blog是LRU?我思维定式中就觉得blog的任何文
章都是根据发表时间排序的,他的意思是这篇blog文章被看过了就该被放到latest,新
文章也是latest。我就惊呆了。
如果说是browsing history之类的,早就懂了。
唉。看来还是要机灵点。
给两个数组,A是Sorted,B也是Sorted,要求Merge这两个,非常简单吧?立刻想到
Leetcode的merge two sorted array和merge sorted linked list之类的。
其实不然。
有要求,要求就是merge成两个数组,一个存unique value,一个存duplicated。这基
本上是对方要求的原话,没有更多信息了。
我的错误在于没理解题意,我觉得有好几种理解方法:
假设:
A是[1, 3, 4, 4, 5, 6, 6]
B是[1, 2, 4, 5, 6, 7]
我理解成输出:
Unique Array[2, 3, 7]
Duplicate Array[1, 1, 4, 4, 4, 5, 5, 6, 6, 6]
因为原话说“把unique的value都存到一个数组,duplicate的存到另一个”,此外,
number是有意义的(每个人的身高),所以我理解为Duplicate的数字是不能随便合并
的,原题也没有任何暗示说可以合并数字。
另一种理解方式(也是interviewer的expected)是
Unique Array[1, 2, 3, 4, 5, 6, 7] (所有出现过的value "uniquely")
Duplicate Array[1, 4, 5, 6] (所有出现过的duplicate value "once only")
但是平心而论,我个人觉得这种理解其实不是很正常的思维方式,因为数据都是身高,
per person,either你保留所有的每个人的身高,or你可以统计有多少unique身高,或
是有多少duplicate身高,但是duplicated身高也要出现在Unique Array里面,尤其令
人费解。
其实还有其他理解方式,我就不提了。
所以我的最关键的错误就在于这里:理解错了题意。
当然,我最大的错误就是急于分析,而没有举例,问他expected是什么。如果我快速写
个例子,问他输出是什么,也许就可以避免这个问题了。
但是,他一直催促写代码,感觉也不是很愿意回答我的问题或是听我的分析,所以我就
慌了,只能赶紧写代码,最后就悲剧了。
其实说实话,我觉得写个trie还更不容易出事儿,就是因为再难,大家也理解你想干嘛
,trie能有什么误解?说实话,我宁愿碰什么Word Search II也不愿意碰这种题,如果
interview不愿意交流,就惨了。
其次,可能我的思维有定式,受什么“remove all duplicates from Linked List”这
种Leetcode题影响太深,自己自作聪明,以为duplicates肯定要一起都去第二个数组。
当然,我以前onsite也碰过一个类似的情景,就是一个人拿blog举例,其实是想让我实
现LRU。 LRU俺倒是会,问题是谁能想到Blog是LRU?我思维定式中就觉得blog的任何文
章都是根据发表时间排序的,他的意思是这篇blog文章被看过了就该被放到latest,新
文章也是latest。我就惊呆了。
如果说是browsing history之类的,早就懂了。
唉。看来还是要机灵点。