由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Facebook电话面试总结
相关主题
leetcode里的Palindrome partition问题Palindrome那题,OJ上通不过
G四次电面面经Palindrome那题,OJ上通不过
palindrome int这个recursive能再java上实现么?问一个Anagram的参考程序
大家帮忙看看我的Palindrome II 的解法回文数的问题
DP通项公式leetcoede新题Valid Palindrome
FB Phone Interview Failed by a simple questionleetcode 一道题 valid palindrome
请教一道面试题palindrome partioning II
最长回文串leetcode Palindrome Partitioning
相关话题的讨论汇总
话题: string话题: palindrome话题: aba话题: facebook
进入JobHunting版参与讨论
1 (共1页)
l****p
发帖数: 397
1
先是面试官自我介绍,然后让我描述一个近期的项目。接着开始做题。题目和我在面试
时写的代码都在http://collabedit.com/w9muy
前面那道我说先可以去掉非字母的字符,然后倒排,然后再和倒排前比较,复杂度是O(
n)。他说能不能不用多余空间,于是我得出后来的解法。刚才在整理代码时才发现,还
有一个要求我居然看错了:case insensitive我看成了case sensitive
后面那道我先是得出O(m*n*log(n))的解法,他让我优化,于是我说可以对getSig()进
行优化,用哈希表记录各个字符出现的次数,然后算出整个哈希表的hashcode,作为
signature,这样可以达到O(m*n)。面试官又问,重复的字符串怎么办,我这才看到题
目中有要求去重复,于是把存anagram的数组改成了集合
题目不难,但把我的粗心暴露无遗
整理过可运行的代码在https://gist.github.com/linzhp/7035991
b**********5
发帖数: 7881
2
还是leetcode题啊
b*******w
发帖数: 56
3
不是网站的会员, 楼主还是把第一题贴一下吧, 谢谢!
w********s
发帖数: 214
4
第二题貌似可以先把每个string变成 char array,然后排序,再变成string,然后存到
hashmap里。
,排序后的string做key, value就是一个string ()数组; 每个string都有同样的sorted
char array 也就是key.
最后把hashmap一个一个的值倒出来就是返回值了,时间复杂度是 O(m*nlg*n),空间复
杂度是O(n).
代码应该不长而且符合要求。
l****p
发帖数: 397
5
bool isPalindrome(string s);
A palindrome is a string that is the same when read backwards or forwards.
For example, "aba", "abba", and "racecar" are all palindromes.
You will implement a method to determine whether a string is a palindrome.
- Palindromes are case insensitive, so "Aba" is a palindrome.
- Palindromes ignore non a-z characters, so "a0ba" and "a- #&#b*b-a" are
palindromes
- The empty string "" and strings with no letters, e.g. "123" are not
palindromes.

【在 b*******w 的大作中提到】
: 不是网站的会员, 楼主还是把第一题贴一下吧, 谢谢!
s********u
发帖数: 1109
6
这个不是cc150原题么?我上次看一个老印写的办法很有意思,就是不用sort array。
而是将每个字符对应一个素数,hashtable的key就是素数的乘积。如果两个string对应
的key相同,就一定是anagram。
e***a
发帖数: 1661
7
what is ur qualification?
g*********e
发帖数: 14401
8
这个办法是很好 就是数组长了加起来会很大

【在 s********u 的大作中提到】
: 这个不是cc150原题么?我上次看一个老印写的办法很有意思,就是不用sort array。
: 而是将每个字符对应一个素数,hashtable的key就是素数的乘积。如果两个string对应
: 的key相同,就一定是anagram。

p******4
发帖数: 31
9

O(

【在 l****p 的大作中提到】
: 先是面试官自我介绍,然后让我描述一个近期的项目。接着开始做题。题目和我在面试
: 时写的代码都在http://collabedit.com/w9muy
: 前面那道我说先可以去掉非字母的字符,然后倒排,然后再和倒排前比较,复杂度是O(
: n)。他说能不能不用多余空间,于是我得出后来的解法。刚才在整理代码时才发现,还
: 有一个要求我居然看错了:case insensitive我看成了case sensitive
: 后面那道我先是得出O(m*n*log(n))的解法,他让我优化,于是我说可以对getSig()进
: 行优化,用哈希表记录各个字符出现的次数,然后算出整个哈希表的hashcode,作为
: signature,这样可以达到O(m*n)。面试官又问,重复的字符串怎么办,我这才看到题
: 目中有要求去重复,于是把存anagram的数组改成了集合
: 题目不难,但把我的粗心暴露无遗

s********u
发帖数: 1109
10
你的意思是字符串长了会很大?其实只要不超过long long的值,还是绝对划算的,因
为不用对字符串排序了。

【在 g*********e 的大作中提到】
: 这个办法是很好 就是数组长了加起来会很大
l*n
发帖数: 529
11
http://en.wikipedia.org/wiki/Computational_complexity_of_mathem
真的long起来了,效率不是你想的O(1)啊。

【在 s********u 的大作中提到】
: 你的意思是字符串长了会很大?其实只要不超过long long的值,还是绝对划算的,因
: 为不用对字符串排序了。

1 (共1页)
进入JobHunting版参与讨论
相关主题
leetcode Palindrome PartitioningDP通项公式
请问大牛们Leetcode Palindrome Number 这道题(思路很简单,就是程序写不对)FB Phone Interview Failed by a simple question
这个Palindrome的Check的代码还有什么可以改进的?请教一道面试题
FB 面完 reference check了好几天是啥情况?最长回文串
leetcode里的Palindrome partition问题Palindrome那题,OJ上通不过
G四次电面面经Palindrome那题,OJ上通不过
palindrome int这个recursive能再java上实现么?问一个Anagram的参考程序
大家帮忙看看我的Palindrome II 的解法回文数的问题
相关话题的讨论汇总
话题: string话题: palindrome话题: aba话题: facebook