由买买提看人间百态

topics

全部话题 - 话题: peeked
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
e********3
发帖数: 18578
1
假设最后两个元素是[2,2],那你peek永远都是同一个元素,这就形成infinite loop了
,这种edge case别人要看你有没有想到。
f*****e
发帖数: 2992
2
有重复元素继续pop啊。比如你pop个2出来了,就peek,发现一个2,继续pop,count由
1变为2。然后stack为空,populate array啦。很简单的。
其实这个有点recursive的意思,每次都面对同样的局面,每次决定pop出的元素是放到
尾还是放到头。中间有个gap。
e********3
发帖数: 18578
3
和第二种解法的处理方法类似,如果两次peek都是同一个值,先取出来存为temp
variable。
l********3
发帖数: 33
4
说的很对,当时我想用arraylist,或者先定好数组的长度,面试官制止了我,说是不
知道size。
如果强行用arraylist的话,插入中间的复杂度可能是O(n),这样的话总的复杂度O(N2)
,这样还不如全pop()出来,在排序,只要O(nlogn)
面试官的方法是:用queue存小的数,stack存大的数,先pop()一个数,再peek一下,
比较这两个数,如果pop的大,就代表肯定是quack的尾巴,反之肯定是头,然后插入
queue或者stack就行了。
对于有repeated number的话,我实在是没想出来怎么弄。坐等大神吧。
另外如何能更好的应对这种题目尼?谢谢
q********c
发帖数: 1774
5
peek()告诉你是头还是尾吗,还是只返回那个元素?
f*****e
发帖数: 2992
6
是不是必须从头开始复制?可以先peek n 遍知道头尾什么元素,再压一个INT_MAX。
l********3
发帖数: 33
7
从哪里复制没有规定,只要生成的array和quack里面的信息一样就行。
比如说1,2,3,4,5
peek n 次得到的元素就是1,或者5. 可能一直都是5,怎么得到int_max尼
不知道我是不是看懂你的思路了
e********3
发帖数: 18578
8
假设最后两个元素是[2,2],那你peek永远都是同一个元素,这就形成infinite loop了
,这种edge case别人要看你有没有想到。
f*****e
发帖数: 2992
9
有重复元素继续pop啊。比如你pop个2出来了,就peek,发现一个2,继续pop,count由
1变为2。然后stack为空,populate array啦。很简单的。
其实这个有点recursive的意思,每次都面对同样的局面,每次决定pop出的元素是放到
尾还是放到头。中间有个gap。
e********3
发帖数: 18578
10
和第二种解法的处理方法类似,如果两次peek都是同一个值,先取出来存为temp
variable。
l********3
发帖数: 33
11
说的很对,当时我想用arraylist,或者先定好数组的长度,面试官制止了我,说是不
知道size。
如果强行用arraylist的话,插入中间的复杂度可能是O(n),这样的话总的复杂度O(N2)
,这样还不如全pop()出来,在排序,只要O(nlogn)
面试官的方法是:用queue存小的数,stack存大的数,先pop()一个数,再peek一下,
比较这两个数,如果pop的大,就代表肯定是quack的尾巴,反之肯定是头,然后插入
queue或者stack就行了。
对于有repeated number的话,我实在是没想出来怎么弄。坐等大神吧。
另外如何能更好的应对这种题目尼?谢谢
b********r
发帖数: 620
12
to deal with dup numbers, can we add a count to each number in the queue,
stack? every time when peek is called, check the value against the queue end
and/or stack top, then if dup just increase the number count by 1.

N2)
b********r
发帖数: 620
13
to deal with dup numbers, can we add a count to each number in the queue,
stack? every time when peek is called, check the value against the queue end
and/or stack top, then if dup just increase the number count by 1.

N2)
A*****o
发帖数: 284
14
来自主题: JobHunting版 - 请教 Iterator 一题
Implement Iterator接口,但是增加一个功能,peek()返回next()的值,但是不能
移动pointer。 constructor已经指定,就是 PeekIterator(Iterator iter)
请问这个Java怎么搞?谢谢
h*******e
发帖数: 125
15
来自主题: JobHunting版 - 请教 Iterator 一题
public class PeekIterator
{
private T data;
Iterator it;
public PeekIterator(Iterator iter) {
it = iter;
data = iter.hasNext()? iter.next():null;
}
public boolean hasNext() {
return data != null;
}
public T next() {
T current = data;
data = it.hasNext()?it.next():null;
return current;
}
public T peek() {
return data;
}
}
n********e
发帖数: 41
16
来自主题: JobHunting版 - Leetcode的系统真是弱爆了
楼主 看到 你 isDiffByOne 函数就知道你必然要超时
Leetcode免费给你用 就别挑剔了。凡事要先从自身找问题
你那个测试不是大数据
真正的大数据在这里:
start = "nanny";
end = "aloud";
String[] d = {"ricky","grind","cubic","panic","lover","farce","gofer
","sales","flint","omens","lipid","briny","cloth","anted","slime","oaten","
harsh","touts","stoop","cabal","lazed","elton","skunk","nicer","pesky","
kusch","bused","kinda","tunis","enjoy","aches","prowl","babar","rooms","
burst","slush","pines","urine","pinky","bayed","mania","light","flare","
wares","wom... 阅读全帖
f*******w
发帖数: 1243
17
来自主题: JobHunting版 - 发个L家的面经,攒人品~~~
bless
字符串求数字和是实现big integer的意思?
实现stack的push和pop,返回middle number?什么意思,是说peek的时候是返回中位
数?
p*****2
发帖数: 21240
18
来自主题: JobHunting版 - G家一道算法题
val st: Stream[Int] = {
val pq = new PriorityQueue[Int]()
pq.add(1)
def loop(curr:Int): Stream[Int] = {
while(pq.peek()<=curr) pq.poll()
val c = pq.poll()
pq.add(c*2)
pq.add(c*3)
pq.add(c*5)
c #:: loop(c)
}
loop(0)
}
s********e
发帖数: 340
19
我当然懂了linked list.
但是你看他的程序,他返回的是 head.next;
但是head.next 应该是null, 在这个程序中,就没有给head.null赋值啊?!
你认真看了这个程序了吗?
下面这段代码的目的是什么?我觉得他只要用ListNode temp = q.peek();返回
PriorityQueue的头节点就行了,while里面其他代码的意义是什么?
while (q.size() > 0) {
ListNode temp = q.poll();
p.next = temp;
//keep adding next element of each list
if (temp.next != null)
q.add(temp.next);
p = p.next;
}
f********c
发帖数: 147
20
来自主题: JobHunting版 - 怎么结果就不对呢
请问为啥你这样写就是对的啊?感觉peek直接对比也没问题吧,不过就是过不了。
j*****0
发帖数: 160
21
来自主题: JobHunting版 - 怎么结果就不对呢
我的pop是这么写的
int i = st.pop();
if (i == min.peek()) {
min.pop();
}
g********r
发帖数: 89
22
来自主题: JobHunting版 - Leetcode Min Stack问题
Leetcode给的solution,在pop的时候,只要栈顶元素=minStack栈顶元素,就把
minStack的栈顶元素pop掉。如果有duplicates的话,比如stack里面5, 3, 3,
minStack里面是5, 3,在pop第一个3的时候,不应该把minStack里面的3 pop掉吧。否
则Stack里面变成了5, 3, minStack里面是5, 答案是不是有问题?
---- Leetcode solution
public void pop() {
if (stack.pop().equals(minStack.peek())) minStack.pop();
}
-----my solution
void pop() {
if(stk.empty()) return;
int tmp=stk.top();
stk.pop();
if(stk.empty() || (tmp == min_stk.top() && stk.top() > min_stk.top... 阅读全帖
g********r
发帖数: 89
23
来自主题: JobHunting版 - Leetcode Min Stack问题
i see. 仔细看了一下LeetCode solution,如果当前最小元素一直重复的话,会被重复
push到minStack里面。这样显然不好啊,没想到LeetCode没考虑到?
-----
public void push(int x) {
stack.push(x);
if (minStack.isEmpty() || x <= minStack.peek()) {
minStack.push(x);
}
}
h***s
发帖数: 45
24
来自主题: JobHunting版 - facebook面经
第三题能不能这样解:
Brute force:假设时间每流动一个单位,就更新一下所有meeting和room的状态。
Optimization:我们发现时间可以流动的快一些,每次流动的单位数基于当前马上就要
结束的meeting和下一个马上就开始的meeting,算法如下:
1. 按start time排序
2. Go over the sorted list.
3. keep a minimum heap based on the end time.
4. the heap size is the needed number of room at any time.
TO(nlogn): for sorting and keeping heap.
SO(n): for the heap and maybe some sorting algorithm.
// heap is based on interval.endTime
int max = 0;
for ( Interval meeting : Sorted_List )
{
while ( true )
... 阅读全帖
h***s
发帖数: 45
25
来自主题: JobHunting版 - facebook面经
第三题能不能这样解:
Brute force:假设时间每流动一个单位,就更新一下所有meeting和room的状态。
Optimization:我们发现时间可以流动的快一些,每次流动的单位数基于当前马上就要
结束的meeting和下一个马上就开始的meeting,算法如下:
1. 按start time排序
2. Go over the sorted list.
3. keep a minimum heap based on the end time.
4. the heap size is the needed number of room at any time.
TO(nlogn): for sorting and keeping heap.
SO(n): for the heap and maybe some sorting algorithm.
// heap is based on interval.endTime
int max = 0;
for ( Interval meeting : Sorted_List )
{
while ( true )
... 阅读全帖
h***k
发帖数: 161
26
来自主题: JobHunting版 - G家onsite记录,难度呵呵
信息量好大啊。。。
电面1:
oj上reverse polish的变种吧,用stack做
遇到')'之前push, pop所有char直到peek为'('
电面2:
Q2: level order traversal然后遍历不知道可行否
Onsite
2. linkedlist cluster:
oj上longest consecutive sequence变种吧, 用set做
3.oj上largest rectanlge的变种?
4.不会mapreduce。。表示只会bfs。。
5.a)queue是动态的怎么找最短长度。。没看懂
a,b)难道是用iterator做嘛...
c******b
发帖数: 13
27
public static List topK(int[] test,int k){
List l = new ArrayList();
if(k>test.length) return l;
//用hash存放股票名称,和出现次数
HashMap hash = new HashMap();
for(int i=0;i if(hash.containsKey(test[i])){
hash.put(test[i], hash.get(test[i])+1);
} else {
hash.put(test[i], 1);
}
}
//用一个priorityqueue,可以对出现次数进行排序... 阅读全帖
w****a
发帖数: 710
e********u
发帖数: 587
29
来自主题: JobHunting版 - 刷了半天题
是不是就是filter_Iterator? 是不是要加个peek(),还有hasPeek()...
e********u
发帖数: 587
30
来自主题: JobHunting版 - 刷了半天题
是不是就是filter_Iterator? 是不是要加个peek(),还有hasPeek()...
S***w
发帖数: 1014
31
来自主题: JobHunting版 - 问一道Facebook近期电面题
String balance(String s) {
int start = 0, i = 0;
Stack stack = new Stack();
String cur = "", ret = "";
while (i < s.length()) {
if (s.charAt(i) == '(') {
stack.push(i);
i = i + 1;
}
else {
if (stack.isEmpty()) {
ret += cur;
i = i + 1;
start = i;
cur = "";
}
... 阅读全帖
W***u
发帖数: 81
32
来自主题: JobHunting版 - 问一道Facebook近期电面题
用一个stack 扫一遍, 把不valid的 符号存里面,最后再筛一次。 O(n) + O(n)
我理解对了么?
String balance(String par) {
if (par.length() < 1)
return null;
String rlt = "";
Stack upSt = new Stack();
for (int i = 0; i < par.length(); i++) {
char c = par.charAt(i);
if (c == '(' || c == ')') {
if (upSt.isEmpty()) {
upSt.push(i);
} else {
char topChar = par.charAt(upSt.peek()... 阅读全帖
b******n
发帖数: 851
33
来自主题: JobHunting版 - Linkedin 店面和oniste面经
smallest K elements:
1) priority queue:
int[] getTopK (int[] input, int k) {
if (k <= input.length) return input;
PriorityQueue q = new PriorityQueue<>(k, new Comparator() {
@override
int compare (Integer k1, Integer k2) {
return 0-Integer.compare(k1, k2);
}
});
for (int i = 0; i < k; i++) {
q.add(input[i]); // first stuff k elements in there
}
for (int i... 阅读全帖
y*****e
发帖数: 712
34
L家最爱考的面试题之一就是nested integer了,
还爱考各种iterator的implementation
这题是把两个最爱合在一起了。。。。感觉很有可能出,但网上没找到满意的答案.
题目是这样的
eg: {{1,2},3,{4,{5,6}}}
不断调用iterator的next()返回的序列是 1 2 3 4 5 6
这个data structure的interface是这样的
public interface Data {
// Does this Data hold a collection?
public boolean isCollection();
// Returns the collection contained by this Data, or null if it is a
single element
public Collection> getCollection();
// Returns the single element contained by this Data, or nul... 阅读全帖
w****a
发帖数: 710
35
来自主题: JobHunting版 - FLAG Yelp Uber Palantir等公司面经
我LD最近面了一堆公司,下面发她的面经攒人品。基本都是电面和onsite混着发的。
Google:
1. Wildcard match
2. http://www.fgdsb.com/2015/01/25/peek-iterator/类似。写一个de duplicator,wrap 几个stream,输出的stream全是不重复数字。
3. 求一个stream,出现次数最多的数字。然后扩展到N个machine的情况。
4. 假设某个company在不同国家都有office,每个国家的office,如果是当地的假期,
就可以放假了。假设可以查询任意航班的信息,每个星期只能呆在一个地方,只有周末
的时候才能飞去别的国家。找一个放假天数最多的schedule。
5. LRU + 一些 C++问题。
6. 这题记不大清楚了。好像是Longest increasing consecutive sequence, 然后一
个Tree的该进版。求longest increasing consecutive path。
7. file system design。就是设计一个大数据的存取问题。存在di... 阅读全帖
b******i
发帖数: 914
36
我完全不是大牛啊。OK. 了解了,那可能跟这个差不多:
http://www.fgdsb.com/2015/01/25/peek-iterator/
c******n
发帖数: 4965
37
来自主题: JobHunting版 - 九章算法的 解答不怎么样啊
http://www.jiuzhang.com/solutions/sliding-window-median/
他们给的这个lintcode 的参考答案, 比我写的还乱,看了就头疼。
这个是我的,
for(int i=0;i if (i >= k) {
lower.remove(i-k);
upper.remove(i-k);
}

lower.add(i);
while( lower.size() > upper.size()-1)
upper.add(lower.poll());
while( lower.size() < upper.size())
lower.add(upper.poll());
if (i>=k-1)
... 阅读全帖
i*******a
发帖数: 61
38
1 best time to sell and buy stock1
2 find k largest/smallest in n sorted list
3 lru cache
4 design etsy database schema
5 find element in rotated array
~~~~~~~~~~~~~~~~~~~~~~
都不难,可惜挂了,自己分析,可能是1 第四轮印度小哥说的优化用db polymorphism
没懂(真的不太懂这个)2自己写题慢了(可是聊天20分钟,面试官也没有要出下一题
的意思)
~~~~~~
dropbox的在线题目
就是一个矩阵,来表示n个人之间的关系,可以是朋友(用f)或者是敌人(e), 俄且
这个关系是双向的,现在 给你一个string的关系,还有两个人的id判断这个string的
关系是合法还是非法的,string关系比如 feffeef 是可以倒回来的。
~~~~~~~~~~
马上要面L家了,想请教一下几道经典题,new grad小白,啥都不懂,请各位大牛不吝
赐教:
1library design题,design一个java... 阅读全帖
T*******e
发帖数: 4928
39
So you might back off. But apparently, no talking or barking has
achieved that since.
----well, then you can choose to stop barking at me. Of course,
up to you.
What you stated is not only your opinion, but also your judgement. This
is an open forum alright, but not an open toilet. There are other boards on
mitbbs that serve the toilet function.
---Interesting. Actually according your judgement, lz's story may fit
Family board perfectly. Oh right, you are posting your judgement several
times.
Wh... 阅读全帖
l******s
发帖数: 3045
40
来自主题: JobHunting版 - G家最新电面
public class TreeNode{
public char Val {get;set;}
public List Next {get;set;}
public TreeNode(char val) { Val = val; Next = new List(); }
}
private TreeNode buildTree(string str){
if(str.Length < 3) return null;
Stack stack = new Stack();
stack.Push(new TreeNode(str[1]));
for(int i = 2; i < str.Length - 1; i++)
if(str[i] == '('){
TreeNode newNode = new TreeNode(str[++i]);
stack.Peek().Next.Add(new... 阅读全帖
j**7
发帖数: 143
41
来自主题: JobHunting版 - G家最新电面
public TreeNode createTree(String s) {
Stack st = new Stack();
TreeNode root = null;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == ')') {
root = st.pop();
} else if (c >= 'A' && c <= 'Z') {
TreeNode newNode = new TreeNode(c);
if (st.isEmpty() == false) {
st.peek().children.add(newNode);
}
st.pus... 阅读全帖
o*******y
发帖数: 362
42
Stack stack = new Stack();
List list = new ArrayList();
TreeNode cur = root, pre = null;
stack.push(cur);
while(!stack.isEmpty()){
cur = stack.peek();
if((cur.left == null && cur.right == null) || (pre != null && (
cur.left == pre || cur.right == pre))){
cur = stack.pop();
if(cur.left == null && cur.right == null){
list.add(cur);
... 阅读全帖
x******6
发帖数: 46
43
来自主题: JobHunting版 - 问道Pocket Gems面试题
题在这儿
http://yuanhsh.iteye.com/blog/2206191
我的解法和博客里的有点不同,不知道有没有忘记考虑什么case,有谁愿意帮我看一下
吗?谢谢!
import java.util.Stack;
public class Solution {
public TreeNode ternary2Tree(String ternary) {
if (ternary.length() == 0) {
return null;
}
Stack stack = new Stack<>();
TreeNode root = new TreeNode(ternary.charAt(0));
stack.push(root);
for (int i = 1; i < ternary.length(); i += 2) {
char operator = ternary.charAt(i);
... 阅读全帖
y******s
发帖数: 92
44
来自主题: JobHunting版 - 一道用叶子过河题
public static int cross(int[] A, int X, int D) {
int reach = D;
if (reach >= X) {
return 0;
}
PriorityQueue pq = new PriorityQueue();

for (int i = 0; i < A.length; i++) {
if (A[i] <= reach) {
reach = Math.max(reach, A[i] + D);
}
else {
pq.add(A[i]);
}
while (!pq.isEmpty() && reach >= pq.peek()) {
reach = Math... 阅读全帖
C*7
发帖数: 234
45
来自主题: JobHunting版 - G家LA office电面
国女,第一题找n个数中最大的k个,我说用size为k+1的min heap,放满,然后循环里
不断
poll和add。她觉得结果不对,我就写了下伪码示意(她没让我写代码,我是为了给她
讲明白)
minHeap(k+1)
for(){
heap.poll();
heap.add();
}
她认为不正确,说如果先遇到前k大的结果就不对了(此处我也不知道她在想什么),
我就给她解释+测试,她又想到别的情况,换各种测试,10多分钟浪费在这,她终于觉
得好像没错。中间我试图给她个台阶,说quick select方法更快,但她完全不理会,继
续纠缠heap的正确性。后来终于跟我说,她想要的解法时size为k的heap,循环里先
peek再根据情况add。如果是讨论复杂度我完全理解,为什么方法不一样就认为是错的
,水平实在很让我吃惊,到最后也没跟我提quick select方法,目测已经超出了她的知
识范围
第二题不知从哪粘过来的,背景还是红色的。。在string末尾添加字符串,使原string
成为回文,返回需要添加的最小string。跟leetcode的Shortest Pali... 阅读全帖
j*****8
发帖数: 3635
46
来自主题: JobHunting版 - G家LA office电面
对,那个国女的是对的
本来就是k size heap,每次先和peek 比较,然后再插入或者discard
b**********5
发帖数: 7881
47
来自主题: JobHunting版 - G家LA office电面
傻逼。 自己好好再去想想。 K+1就不用peek, 再compare, 再决定嫁不嫁。。。
C*7
发帖数: 234
48
来自主题: JobHunting版 - G家LA office电面
peek和poll都是取heap里最小值,只是决定插入不插入的区别,比较两次是什么意思
l**h
发帖数: 893
49
来自主题: JobHunting版 - 请教个面试题
写了个java的:
String toCsv(String str) throws Exception {
boolean insideQuote = false;
Stack stack = new Stack();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c == '[') {
stack.push(c);
} else if (c == ']') {
if (stack.isEmpty() || stack.peek() != '[') {
throw new Exception("Found unmatched ]");... 阅读全帖
b**********5
发帖数: 7881
50
来自主题: JobHunting版 - Technical Recruiter赚的多吗?
别搞了, 40多, 你没recruiting 经验, 和人家40多的, 已经有了很多年经验的比

年纪大, 哪里都不吃香, 除非你是什么医生啊, 律师啊, 40多, 50, 正好是
career peek
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)