由买买提看人间百态

topics

全部话题 - 话题: 面题
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
p**p
发帖数: 742
1
这题用KMP吧。检查preprocess部分生产的array l 就可以了。如果是valid case.
preprocessing array 必然满足下面的几个条件:
1. l[n-1] 必须是最大值 (这个没必要专门检查,只要3满足就成);
2. s[0,...,n-l[n-1])就是repeating pattern;
3. l[n-1]/(length of the repeating pattern) >= 1;
4. l[n-1] % (length of the repeating pattern) == 0.
比如:
"abcabcabc" -> [0, 0, 0, 1, 2, 3, 4, 5, 6]
"abcdabcd"-> [0, 0, 0, 0, 1, 2, 3, 4]
几个false cases:
"bcdbcdbcdebcdbcdbcd" -> [0, 0, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 7,
8, 9]
"ababeabab"-> [0, 0, 1, 2, 0, 1, 2, 3, 4]
code 如下:... 阅读全帖
p**p
发帖数: 742
2
这题用KMP吧。检查preprocess部分生产的array l 就可以了。如果是valid case.
preprocessing array 必然满足下面的几个条件:
1. l[n-1] 必须是最大值 (这个没必要专门检查,只要3满足就成);
2. s[0,...,n-l[n-1])就是repeating pattern;
3. l[n-1]/(length of the repeating pattern) >= 1;
4. l[n-1] % (length of the repeating pattern) == 0.
比如:
"abcabcabc" -> [0, 0, 0, 1, 2, 3, 4, 5, 6]
"abcdabcd"-> [0, 0, 0, 0, 1, 2, 3, 4]
几个false cases:
"bcdbcdbcdebcdbcdbcd" -> [0, 0, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 7,
8, 9]
"ababeabab"-> [0, 0, 1, 2, 0, 1, 2, 3, 4]
code 如下:... 阅读全帖
W***o
发帖数: 6519
3
以前用Turing machine设计解决这种题的方法,呵呵,无非就是扫描,假设string
pattern,验证。。
S*******C
发帖数: 822
4
谢谢指正,这题难度很大,上面这么多解法只有3种是对的
贴一种比较简洁的写法,不知道怎么证明是O(N)的解法?
public boolean isMultipleDuplicate(String s) {
if (s == null || s.length() < 4)
return false;
int len = s.length();
int[] a = new int[len];
int j = 0;
for (int i = 1; i < len; i++) {
while (j > 0 && s.charAt(i) != s.charAt(j))
j = a[j - 1];
if (s.charAt(i) == s.charAt(j))
j++;
a[i] = j;
}
int patternLen ... 阅读全帖
S*******C
发帖数: 822
5
这题所有的双指针解法都跪了,必须上KMP啊
G*********n
发帖数: 53
6
来自主题: JobHunting版 - 一道 facebook 电面题
longest ascending sequence, Dp 经典题吧
r****y
发帖数: 26819
7
来自主题: JobHunting版 - 贡献一道电面题
这啥题啊,组成三角形三个边?
d********i
发帖数: 582
8
来自主题: JobHunting版 - 贡献一道电面题
谁家的题?
d********i
发帖数: 582
9
来自主题: JobHunting版 - 贡献一道电面题
G的题?
z****e
发帖数: 54598
10
来自主题: JobHunting版 - 贡献一个groupon的电面题
top k看来是最近的必考题
d**k
发帖数: 797
11
来自主题: JobHunting版 - 贡献一个groupon的电面题
晕死
我天天在版上看,怎么就没看到这个必考题呢
l********1
发帖数: 24
12
来自主题: JobHunting版 - 贡献一个groupon的电面题
这个题我做了,我开始也说的是heap,然后要求提高,你应该问他similarity如何定义
,他会告诉你是(1-100),然后他期待的其实是类似桶排序的。
l********1
发帖数: 24
13
来自主题: JobHunting版 - 贡献一个groupon的电面题
这个题我做了,我开始也说的是heap,然后要求提高,你应该问他similarity如何定义
,他会告诉你是(1-100),然后他期待的其实是类似桶排序的。
S***A
发帖数: 133
14
来自主题: JobHunting版 - 贡献一个groupon的电面题
我觉得counting sort也可以啊,要是数很多的话用radix sort也行啊。

:这个题我做了,我开始也说的是heap,然后要求提高,你应该问他similarity如何定
义,他会告诉你是(1-100),然后他期待的其实是类似桶排序的。
……
S***A
发帖数: 133
15
来自主题: JobHunting版 - 贡献一个groupon的电面题
相同的值可以放在一个bucket里啊

:similarity没有相同的值才能桶排序吧?如果有最小的k个similarity都是1,怎么桶
排序?


:【 在 leetcoder1 (mitbbsCoder) 的大作中提到: 】
:: 这个题我做了,我开始也说的是heap,然后要求提高,你应该问他similarity如何
定义
:: ,他会告诉你是(1-100),然后他期待的其实是类似桶排序的。

……
S***A
发帖数: 133
16
来自主题: JobHunting版 - 贡献一个groupon的电面题
我觉得这道题你说出O(n)的算法就行了吧。

:假设当然是k<<n啦
:k非常小,比如10,20这种
:n非常大,几十万肯定不只,几百万至少了
:【 在 SEKKA (努力备考中......) 的大作中提到: 】
:: too optimistic,你怎么知道你的一个group会/不会cover k个值?
:: :我大概明白了
:: :heap没有错
……
r****s
发帖数: 1025
17
来自主题: JobHunting版 - T的一道电面题
唯一的快速方法就是用bitmap sort,开一个2^32的bitmap(耍赖的话,勉强算
constant space?).或者开一个100的bitmap。难道那哥们比stackoverflow的anser还牛
?这样的人一般没时间做phone screening,相信我。
我觉得这个interview的问题在于,这哥们没时间准备,临时选了一道题,自己也没看
懂,就忙着过来问了,紧接着google了一下,就SB了,然后就没有然后了。
d**k
发帖数: 797
18
来自主题: JobHunting版 - 贡献一个M家的电面题
感觉还可以,说很快会给答复,面试官是个很帅的白人小伙子,很和蔼
是web组,所以开始问得是web题目
What core types are available in JavaScript?
A: string, number, object, null, undefined, boolean
Can you describe closure? and example?
A Describe出来了,但是example写的不好,就不贴le。是个挂点。
Alert a string after a 10 second delay
A:setTimeout(function(){‘alert(“msg”)}, 10000);
这个很惭愧,API的记得不清楚,面试管很nice的抛了个API连接过来。是个挂点。
evaluate the following expression, and explain == vs ===
“1” == 1 true
“1” === 1 false
“1” == true true
“1” === true false
Name some security th... 阅读全帖
l*****a
发帖数: 14598
19
来自主题: JobHunting版 - linkedin电面题
就一道题?你怎么做的
p*******e
发帖数: 933
20
来自主题: JobHunting版 - linkedin电面题
如果面试前在这个版做过功课,这个题太高频了啊
怎么就挂了呢
a***n
发帖数: 623
21
来自主题: JobHunting版 - linkedin电面题
这题还有扩展,如果你连扩展都没做到,那确实要好好做功课。
扩展是,求一个最小区间,囊括了一个set of words。
这个问题在实际中也有很直接的应用:
比如用户丢了一个query里面有N个term,搜索引擎返回了一堆snippets,如果展现最简
洁的snippets且包括了所有term?
倒排索引应该能想到。
扩展问题解法就是贪心,不需要DP。
c*******r
发帖数: 610
22
来自主题: JobHunting版 - linkedin电面题
auyin 说得是对的,其实就是inverted index的简单版本吧。
基本思想应该是:对每一个词,记录它的index (从小到大)。然后对于s1, s2,计算
索引
之间的最小值,就是两个词之间的最小距离了。
glassdoor上面原题
m*********n
发帖数: 931
23
来自主题: JobHunting版 - linkedin电面题
好题~ 不用hash应该就ok
y***n
发帖数: 1594
24
来自主题: JobHunting版 - linkedin电面题
好像CC 150 也有这个题。
l*****a
发帖数: 14598
25
来自主题: JobHunting版 - linkedin电面题
就一道题?你怎么做的
p*******e
发帖数: 933
26
来自主题: JobHunting版 - linkedin电面题
如果面试前在这个版做过功课,这个题太高频了啊
怎么就挂了呢
a***n
发帖数: 623
27
来自主题: JobHunting版 - linkedin电面题
这题还有扩展,如果你连扩展都没做到,那确实要好好做功课。
扩展是,求一个最小区间,囊括了一个set of words。
这个问题在实际中也有很直接的应用:
比如用户丢了一个query里面有N个term,搜索引擎返回了一堆snippets,如果展现最简
洁的snippets且包括了所有term?
倒排索引应该能想到。
扩展问题解法就是贪心,不需要DP。
c*******r
发帖数: 610
28
来自主题: JobHunting版 - linkedin电面题
auyin 说得是对的,其实就是inverted index的简单版本吧。
基本思想应该是:对每一个词,记录它的index (从小到大)。然后对于s1, s2,计算
索引
之间的最小值,就是两个词之间的最小距离了。
glassdoor上面原题
m*********n
发帖数: 931
29
来自主题: JobHunting版 - linkedin电面题
好题~ 不用hash应该就ok
y***n
发帖数: 1594
30
来自主题: JobHunting版 - linkedin电面题
好像CC 150 也有这个题。
t*******i
发帖数: 4960
31
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第二题保证除了第一层每层都有2个节点么?
t*******e
发帖数: 274
32
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第一题中的equal条件有什么陷阱么?还是说和leetcode上那道search 2D matrix是一
样的?
j*****8
发帖数: 3635
33
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第一题,按照cc150的解法,从右上角开始向左或向下二分查找的话,针对这个首尾可
能相等的情况不需要额外的 处理把
l*****a
发帖数: 14598
34
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
没看清题?这个期待什么结果
1
/
2 3
4
l*****a
发帖数: 14598
35
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
原题已经告诉你有equal的情况
所以你的code不能得分
y**********a
发帖数: 824
36
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP

改了一下第一题。
boolean equal(int[][]mx, int i, int j) {
int m=mx.length,n=mx[0].length;
if (i<0||j>=m*n||j<0||i>=m*n) return false;
return mx[i/n][i%n]==mx[j/n][j%n];
}
int binarySearchBound(int[][]mx, int k, boolean lower) {
for (int m=mx.length,n=mx[0].length,l=0,r=m*n-1;l<=r;) {
int mid=l+(r-l)/2;
if (mx[mid/n][mid%n]==k) {
if (lower)
if (!equal(mx, mid, mid-1)) return mid;
e... 阅读全帖
l****s
发帖数: 75
37
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第二题其实就是一个reverse linked list的变种。
TreeNode* flipUpsideDown2(TreeNode* root)
{
if (!root) return NULL;
TreeNode* dummy = new TreeNode(0);
dummy->left = root;
TreeNode* right = root->right;
root = root->left;
dummy->left->left = NULL;
dummy->left->right = NULL;
while (root)
{
TreeNode* tmp = root;
root = root->left;
tmp->left = right;
right = tmp->right;
tmp->right = dummy->left;
dummy->left = tmp;
}
root... 阅读全帖
s**x
发帖数: 7506
38
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第一题估计出题的人都晕了, 你自己想想吧, 就是不折不扣的 binary search. 2D
array in that case is exactly 1D sorted array! no trick at all, exactly the
same.
1 2 3
4 5 6
is the same as 1 2 3 4 5 6!
p*****2
发帖数: 21240
39
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第二题这样怎么样
TreeNode dfs(TreeNode node, TreeNode parent){
if(node==null) return null;
TreeNode left_res = dfs(node.left,node);

if(parent!=null){
node.left = parent.right;
node.right = parent;
}
return left_res!=null?left_res:node;
}

TreeNode convert(TreeNode root){
return dfs(root,null);
}
p****a
发帖数: 447
40
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第一题,有重复元素的话,如何二分?
t*******i
发帖数: 4960
41
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第二题保证除了第一层每层都有2个节点么?
t*******e
发帖数: 274
42
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第一题中的equal条件有什么陷阱么?还是说和leetcode上那道search 2D matrix是一
样的?
j*****8
发帖数: 3635
43
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第一题,按照cc150的解法,从右上角开始向左或向下二分查找的话,针对这个首尾可
能相等的情况不需要额外的 处理把
l*****a
发帖数: 14598
44
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
没看清题?这个期待什么结果
1
/
2 3
4
l*****a
发帖数: 14598
45
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
原题已经告诉你有equal的情况
所以你的code不能得分
y**********a
发帖数: 824
46
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP

改了一下第一题。
boolean equal(int[][]mx, int i, int j) {
int m=mx.length,n=mx[0].length;
if (i<0||j>=m*n||j<0||i>=m*n) return false;
return mx[i/n][i%n]==mx[j/n][j%n];
}
int binarySearchBound(int[][]mx, int k, boolean lower) {
for (int m=mx.length,n=mx[0].length,l=0,r=m*n-1;l<=r;) {
int mid=l+(r-l)/2;
if (mx[mid/n][mid%n]==k) {
if (lower)
if (!equal(mx, mid, mid-1)) return mid;
e... 阅读全帖
l****s
发帖数: 75
47
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第二题其实就是一个reverse linked list的变种。
TreeNode* flipUpsideDown2(TreeNode* root)
{
if (!root) return NULL;
TreeNode* dummy = new TreeNode(0);
dummy->left = root;
TreeNode* right = root->right;
root = root->left;
dummy->left->left = NULL;
dummy->left->right = NULL;
while (root)
{
TreeNode* tmp = root;
root = root->left;
tmp->left = right;
right = tmp->right;
tmp->right = dummy->left;
dummy->left = tmp;
}
root... 阅读全帖
s**x
发帖数: 7506
48
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第一题估计出题的人都晕了, 你自己想想吧, 就是不折不扣的 binary search. 2D
array in that case is exactly 1D sorted array! no trick at all, exactly the
same.
1 2 3
4 5 6
is the same as 1 2 3 4 5 6!
p*****2
发帖数: 21240
49
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第二题这样怎么样
TreeNode dfs(TreeNode node, TreeNode parent){
if(node==null) return null;
TreeNode left_res = dfs(node.left,node);

if(parent!=null){
node.left = parent.right;
node.right = parent;
}
return left_res!=null?left_res:node;
}

TreeNode convert(TreeNode root){
return dfs(root,null);
}
p****a
发帖数: 447
50
来自主题: JobHunting版 - 热腾腾的 LinkedIn 电面题攒RP
第一题,有重复元素的话,如何二分?
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)