r********g 发帖数: 14 | 1 基于你的算法,我稍作改变:
建立一个hashset 和一个linkedlist, linkedlist 不需要double single即可 有
header和tail两个指针
对于string, 在遍历时,先检验是存在于hashset之中 如果存在 检验下一个char
如果不存在,放到linkedlist的tail后面 tail指向这个node 同时放到hashset中
这样遍历string一边后,
从linkedlist的header 开始查找 如果存在于hashset中 header指向下一个, 如果不
存在于hashset
return header的value 如果header指向null return 不dupliate的char 不存在。 |
|
c********t 发帖数: 5706 | 2 多谢!
第一题最后发现用 char array 比 StringBuilder还快
第二题又超时了,再求帮助!
用的是双queue解法,感觉比你和wwwyhs说的hashmap>用空间
更少,时间也应该更少,为啥又超呢?(唉,我为什么又说又)
public ArrayList> findLadders(String start, String end,
HashSet dict) {
// Start typing your Java solution below
// DO NOT write main() function
ArrayList> ret = new ArrayList>(
);
int curr=1, next=0, count=1, n=start.length(), length=Integer.MAX_
VALUE... 阅读全帖 |
|
c********t 发帖数: 5706 | 3 多谢!
第一题最后发现用 char array 比 StringBuilder还快
第二题又超时了,再求帮助!
用的是双queue解法,感觉比你和wwwyhs说的hashmap>用空间
更少,时间也应该更少,为啥又超呢?(唉,我为什么又说又)
public ArrayList> findLadders(String start, String end,
HashSet dict) {
// Start typing your Java solution below
// DO NOT write main() function
ArrayList> ret = new ArrayList>(
);
int curr=1, next=0, count=1, n=start.length(), length=Integer.MAX_
VALUE... 阅读全帖 |
|
s*********s 发帖数: 140 | 4 想请教一下数据结构的选择。如果用java,是选择API已有的LinkedList, 还是自己实
现一个Doubly linked list? 如果用Singly LinkedList, replacement的时间就不是O(
1).如果用Doubly LinkedList, 45min面试时间又怕不够。面试官一般来说会直接让你
用Doubly LinkedList吗? |
|
F****n 发帖数: 3271 | 5 public class H2O {
public static class ThreadHolder {
Thread thread;
ThreadHolder(Thread thread) {
this.thread = thread;
}
}
protected LinkedList hlist = new LinkedList();
protected LinkedList olist = new LinkedList();
public boolean h() {
ThreadHolder current = new ThreadHolder(Thread.currentThread());
synchronized (current) {
ThreadHolder[] threadsToWakeUp = null;
// updating the queues requires a global lock;
sy... 阅读全帖 |
|
F****n 发帖数: 3271 | 6 public class H2O {
public static class ThreadHolder {
Thread thread;
ThreadHolder(Thread thread) {
this.thread = thread;
}
}
protected LinkedList hlist = new LinkedList();
protected LinkedList olist = new LinkedList();
public boolean h() {
ThreadHolder current = new ThreadHolder(Thread.currentThread());
synchronized (current) {
ThreadHolder[] threadsToWakeUp = null;
// updating the queues requires a global lock;
sy... 阅读全帖 |
|
l****i 发帖数: 2772 | 7 CS fresh PhD. 西雅图,已经接到HR电话,悲剧,攒RP,发面经。
第一轮,2个人。每个人先介绍了几分钟。给题,boggle,先让我分析怎么解决。代码
写到8个方向递归的时候,被打断,说知道我后面会怎么写了,让我先分析这个程度的
复杂度,他们有其他问题要问。最后15分钟,问了一大堆behavior,关于team work的
一类的问题,有矛盾怎么解决,team里有人不干活,team里有人和你不同意见等等,要
求给出一些以前经历的例子。
第二轮,老美白人。开始问了很多object oriented的问题。abstract class,
interface,什么情况下如何选择,inheritance VS composition等等。然后一个
coding,按行统计词频,不难,hashtable解决。 写code的中间,问了很多次复杂度,
基本上我写一行code,他会问一下这一行的复杂度。然后给了一个OOD,一个tree的结
构,计算表达式。然后又出了一题OOD,题目还没解释完,外面的第3轮人就敲门了。
第三轮,南美或者欧洲女。这一轮我很崩溃。第一轮,按层遍历二叉树。直接问我,你... 阅读全帖 |
|
m********c 发帖数: 105 | 8 上周末做了pure storage的interviewstreet的题目,总共两道题,30分钟,今天晚
上就收到了拒信,下面是题目。
第一题是Remove all elements from a linked list of integers that have value N
,就是要实现下面的函数
void removeNode(int val, LinkedList **list)。
题目不算难,但是我刚看到pointer to pointer 一下子没想出来怎么做,想了半天,
最后写出来了,test cases5个过了3个,另外两个后来想了想是估计是因为处理修改
list的时候出错。下面是我写的代码。
void removeNode(int val, LinkedList **list) {
LinkedList *prev = *list;
while (prev && prev->val == val)
prev = prev->next;
// 估计是这里出错了,提交的代码里是 list = &prev,这算修改了list... 阅读全帖 |
|
s*****n 发帖数: 994 | 9 void removeNode(int val, LinkedList **list){
LinkedList* dummy = new LinkedList(0);
dummy->next = *list;
LinkedList* current = dummy;
while (current){
if (current->next){
if (current->next = val){
current->next = current->next->next;
}else{
current = current->next;
}
}else{
current = current->next;
}
}
*list = dummy->next;
delete dummy;
}
直没
N |
|
m********c 发帖数: 105 | 10 上周末做了pure storage的interviewstreet的题目,总共两道题,30分钟,今天晚
上就收到了拒信,下面是题目。
第一题是Remove all elements from a linked list of integers that have value N
,就是要实现下面的函数
void removeNode(int val, LinkedList **list)。
题目不算难,但是我刚看到pointer to pointer 一下子没想出来怎么做,想了半天,
最后写出来了,test cases5个过了3个,另外两个后来想了想是估计是因为处理修改
list的时候出错。下面是我写的代码。
void removeNode(int val, LinkedList **list) {
LinkedList *prev = *list;
while (prev && prev->val == val)
prev = prev->next;
// 估计是这里出错了,提交的代码里是 list = &prev,这算修改了list... 阅读全帖 |
|
s*****n 发帖数: 994 | 11 void removeNode(int val, LinkedList **list){
LinkedList* dummy = new LinkedList(0);
dummy->next = *list;
LinkedList* current = dummy;
while (current){
if (current->next){
if (current->next = val){
current->next = current->next->next;
}else{
current = current->next;
}
}else{
current = current->next;
}
}
*list = dummy->next;
delete dummy;
}
直没
N |
|
l*********d 发帖数: 78 | 12 尝试过许多解法,但老是 TLE. 有高人能帮忙看一下这一段代码吗?
基本上就是 double queue + backtracking,跟这里的http://blog.csdn.net/niaokedaoren/article/details/8884938
很相似。但是问题出在哪里呢?
提前谢谢了!
------------------------------------------------------------------------
import java.util.Map;
public class Solution {
public void fillPaths(String start, String cur, Map>
map,
ArrayList> result, LinkedList post
) {
post.addFirst(cur);
if (start.equals(cur)) {
... 阅读全帖 |
|
f**********3 发帖数: 295 | 13 希望用java.util的HashMap和LinkedList,搞了两天没搞出来,太弱了。自己写的
Linked List没有问题,但是这个自带的LinkedList没找到给定node reference, O(1)
删除的方法,估计要用ListIterator? 然后这些ListIterator存在HashMap里? 不然会
超时。
C++反正本来也是自己写LinkedList,没有问题,但是这个用standard java
LinkedList就是搞不定啊... |
|
b********6 发帖数: 97 | 14 背景:本科生物,统计master + 9个月工作经验
结果: offer: amazon, facebook, linkedin, google
Withdraw了ebay的onsite,别的好多电面都fail或者没有消息
电面:
Amazon两个:面得太早,具体想不起来了,code题不多。问怎么从某种格式的log file
里抓出想要的信息,简单的regular expression 和perl scripts, 问一些如果server
有问题怎么trouble shooting的开放问题。
Linkedin 两个:
1 binary tree level order traversal, leetcode原题
2 pow(x,2) leetcode原题
3 判断一个string表示的数字是否valid,类似leetcode Valid Number原题,一些具体
要求要和面试官讨论后确定
4 permutation I and II leetcode原题
Facebook一个:
1 reverse linkedlist (这个我无话可说)
2 decide whether tw... 阅读全帖 |
|
a********9 发帖数: 129 | 15 之前稍微收集了一下
glassdoor
===================
edit distance
level traverse tree(高频)
1) Calculate the square root of a double(高频)
2) Given n intervals [si, fi], find the maximum number of overlapping
intervals.
3) Print all the paths from root to every leaf in a binary tree.
4) Print the sum of all the numbers at every vertical level in a binary tree
5) Given a set of n jobs with [start time, end time, cost] find a subset so
that no 2 jobs overlap and the cost is maximum ?
6) Given 1 trillion messages ... 阅读全帖 |
|
a********9 发帖数: 129 | 16 google面的是SRE
电面是国人大哥,一些c语言的pointer问题,然后一道leetcode原题
onsite1:
1)combination,还是没dupliate的,要把结果保存起来,我说用linked list,因为是
用c写,还要自己implement linkedlist, 略坑爹
2) 就是很简单的统计两个string分别有多少个单独的letter
onsite2:
bst inorder iterator
onsite3:
一个文件,每行是rack_name + machine id,输出每个rack有多少个machine,按大小排
序,我是先扫一遍存hashtable,再存进linkedlist再sort,这回没让我实现hashtable
跟linkedlist了,不过要我把用过的api单独再declear一下,最后再写个mergesort
onsite4:
有很多个machine,要求检测哪些die了,要求parallel,就写了一个for loop创建若干
个thread来执行任务,有点thread pool的感觉,用一个array来表示哪个machine被检... 阅读全帖 |
|
g****9 发帖数: 163 | 17 My code also complains memory limit exceed. Any suggestions why?
LinkedList stack = new LinkedList();
LinkedList ministack = new LinkedList();
public void push(int x) {
stack.add(x);
if (ministack.isEmpty() || ministack.getLast() >= x) {
ministack.add(x);
}
}
public void pop() {
if (stack.isEmpty()) {
return;
}
int ele = stack.removeLast();
if (!ministack... 阅读全帖 |
|
c*****e 发帖数: 3226 | 18 public class Solution {
class Record {
Record prev;
String cur;
public Record(Record prev, String cur) {
this.prev = prev;
this.cur = cur;
}
}
public List> findLadders(String start, String end, Set<
String> dict) {
List> r = new LinkedList>();
if (start == null || end == null || dict == null || start.length() =
= 0 || start.length() != end.len... 阅读全帖 |
|
j*****8 发帖数: 3635 | 19 题目如下:
Given a string that contains only digits 0-9 and a target value, return all
possibilities to add binary operators (not unary) +, -, or * between the
digits so they evaluate to the target value.
给的几个例子:
"123", 6 -> ["1+2+3", "1*2*3"]
"232", 8 -> ["2*3+2", "2+3*2"]
"105", 5 -> ["1*0+5","10-5"]
"00", 0 -> ["0+0", "0-0", "0*0"]
"3456237490", 9191 -> []
下面是我的java code,有个test case一直超时,求大牛指点优化。我的思路很简单,
先生成所有可能的计算式,然后对每个计算式求值与target比较。
public List addOperators(String num, int target) {
... 阅读全帖 |
|
w*****z 发帖数: 6 | 20 我在做一个Qt的课题,需要链表操作界面化。算法这部分只是普通的C++,但是节点不
能够用struct,一定要用class。我在node.h中声明了两个指针,*previous和*next。链
表里面有Node* first和Node* current。请问我在链表的Deconstrucotr(LinkedList::
~LinkedList())中应该写些什么?我写的是:
C/C++ code
Node::~Node() {
previous = NULL;
next = NULL;
}
C/C++ code
LinkedList::~LinkedList() {
current = first;
while(current!=NULL){
first = current->next;
delete current;
current = NULL;
current = first;
}
current = NULL;
first = NULL;
}
然后试运行时Win |
|
f**********3 发帖数: 295 | 21 在做leetcode LRU,自己写个LinkedList没问题,但是想用java的实现,遇到困难了...
比如
HashMap map = new HashMap();
Integer key = new Integer(3);
map.put(key, 10);
LinkedList ll = new LinkedList();
ll.add(1);
ll.add(key); //同样的key object,加到linked list里面
ll.add(10);
// the list should be 1->3->10 now
int keyToLookUp = 3;
然后怎样可以在map里拿到原来的key object reference然后把ll里面对应的node删除
呢? 就是HashMap里需要给key的value,找key的object reference。 LinkedList里需
要给node object reference,然后从list里删掉。我知道大... 阅读全帖 |
|
s******e 发帖数: 285 | 22 这些都是Knight Capital Group的Electronic Trading Group
的Developer candidate screening questions吧。
人家都说了要你自己做了。Please keep them PRIVATE。
Consider the following C++ program declarations for a linked-list class:
class Node {
friend class LinkedList;
int value;
Node* next;
Node() {next = 0;}
}
class LinkedList {
Node* head;
Public:
LinkedList() { head = 0; }
bool addElement(Node * newElement);
...
}
An instance of class LinkedList is to be used to maintain a sorted list.
Write function Li |
|
d****n 发帖数: 130 | 23 来自主题: Programming版 - 请教C++ 请问下面这两种定义有什么错吗? 编译老通不过,说是type missed.
template
class LinkedList
{
LinkedList& operator=(const LinedkList&);
};
template
class LinkedList
{
LinkedList& operator=(const LinedkList&);
}; |
|
w*****z 发帖数: 6 | 24 我在做一个Qt的课题,需要链表操作界面化。算法这部分只是普通的C++,但是节点不
能够用struct,一定要用class。我在node.h中声明了两个指针,*previous和*next。链
表里面有Node* first和Node* current。请问我在链表的Deconstrucotr(LinkedList::
~LinkedList())中应该写些什么?我写的是:
C/C++ code
Node::~Node() {
previous = NULL;
next = NULL;
}
C/C++ code
LinkedList::~LinkedList() {
current = first;
while(current!=NULL){
first = current->next;
delete current;
current = NULL;
current = first;
}
current = NULL;
first = NULL;
}
然后试运行时Win |
|
I*****a 发帖数: 5425 | 25 【 以下文字转载自 JobHunting 讨论区 】
发信人: barbie6676 (barbie), 信区: JobHunting
标 题: 发面经 回报本版
关键字: 面经
发信站: BBS 未名空间站 (Sat Nov 16 11:49:17 2013, 美东)
背景:本科生物,统计master + 9个月工作经验
结果: offer: amazon, facebook, linkedin, google
Withdraw了ebay的onsite,别的好多电面都fail或者没有消息
电面:
Amazon两个:面得太早,具体想不起来了,code题不多。问怎么从某种格式的log file
里抓出想要的信息,简单的regular expression 和perl scripts, 问一些如果server
有问题怎么trouble shooting的开放问题。
Linkedin 两个:
1 binary tree level order traversal, leetcode原题
2 pow(x,2) leetcode原题
3 判断一个string表示的数字是否valid,类似l... 阅读全帖 |
|
g******i 发帖数: 354 | 26 ( 版主能给几个包子吗? 我从没得过包子, 说的也都是个人真实体验)
真的。 本人在墙街做IT已经六年多了, 拿的也是很普通的薪水, 我现在的Total是135K + 10-25% Bonus (奖金时好时坏, 大致在10% 到 25% 之间)
我只会Java/J2EE。 不会C++, 一点都不会。
现在的Project是做Post-Trading的Changing P&L, Position Calulation.整个
Department是Support Equity Trading的, 公司也是大家都知道的大投行。
我以前的面试经验, 包括我周围IT朋友的面试经验 从来没被问过本版这么难的问题,
1) B-Tree, Graph 这些都太难了, 从没被问过。 最多就问个Binary Tree, 遍历二叉
树。 红黑树都没问道过, 面试官自己都不知道。
2) 数据结构, 最多就问问, LinkedList, reverse LinkedList, find out linkedList loop. how to do HashMap implementation...
3)Sort |
|
y*********e 发帖数: 518 | 27 这个我以前写过一个notepad,大概解释一下数据结构吧。
我用的是C#写的(C#的string跟Java的string一样,是immutable的)。
这个数据结构应该支持如下功能:
1、快速的string读取,写入,以及删除
2、快速的获得某一个字符所在的行列号
3、支持较多的redo、undo
对于第一点要求,传统的string肯定不行,因为每次对string的修改都会产生一个新的
string。StringBuilder也不行,虽然它支持O(1)的Append,但是对于插入和删除最快
的还是O(N)。
考虑到第二点要求,可以用一个改进版的StringBuilder。即,每一行用一个
StringBuilder,然后行与行之间用LinkedList串联起来。这样做是假设每一行字符的
长度不会太长(大概百来个的字符删除O(N)还是很快的),然后行数也不会太长,因为
我们用的LinkedList把行数串联起来,要获得某一行的行号,也是O(N)的操作。
这就是第一版的数据结构,用它就可以实现一个简单的text editor,支持编辑不是很大
的文本文档。
这个数据结构可以改进的。我读了... 阅读全帖 |
|
t**d 发帖数: 352 | 28 what can be all all possible cases? all u,t, u,next() and t.next() have to
be not null, otherwise this function has no meaning.
so
if (t == null || u == null ) throw new NullPointerException();
if (t == u) return;
linkedList tnext = t.next();
linkedList unext = u.next();
if (tnext == null || unext == null ) throw new NullPointerException();
t._next = unext;
u._next = tnext;
linkedList temp = tnext.next();
tnext._next = unext.next();
unext._next = temp; |
|
j**w 发帖数: 382 | 29 import java.util.LinkedList;
class Ans
{
public static void main(String[] args)
{
System.out.println(args[0]);
String[] dirs = args[0].split("/");
LinkedList path = new LinkedList();
for (String s : dirs)
{
if ( s.equals("") )
{
continue;
}
else if ( s.equals(".") )
{
continue;
}
else if ( s.equals(".."))
{
path.pollLast();
}
else
{
path.add(s);
... 阅读全帖 |
|
l****1 发帖数: 19 | 30 上一个自己写的第三题的Java实现。请求大神门指教。。
顺便为明天G电面intern攒点人品。。
import java.util.*;
public class MaxWindow{
public LinkedList findMax(int[] in, int k){
ArrayDeque deque=new ArrayDeque();
LinkedList result=new LinkedList();
for(int i=0;i
if(!deque.isEmpty() && deque.getFirst().index<=i-k)
deque.pollFirst();
while(!deque.isE... 阅读全帖 |
|
l****1 发帖数: 19 | 31 上一个自己写的第三题的Java实现。请求大神门指教。。
顺便为明天G电面intern攒点人品。。
import java.util.*;
public class MaxWindow{
public LinkedList findMax(int[] in, int k){
ArrayDeque deque=new ArrayDeque();
LinkedList result=new LinkedList();
for(int i=0;i
if(!deque.isEmpty() && deque.getFirst().index<=i-k)
deque.pollFirst();
while(!deque.isE... 阅读全帖 |
|
r********g 发帖数: 14 | 32
string 遍历一遍即可
伪码:
for each char in string str
if char in hashtable
change the value of key char in hashtable( key char value 2)
next char
else
linkedlist.tail->next.value= char
tail = tail->next;
add char to hashtable( key char value 1)
end of loop for string // just one time
//now let us deal with the linkedlist
while( header != null){
if header value in hashtable is 2 ( hashtable.get(header)==2) // header is
duplicate
header = header->next;
else return header->value // first non-duplicate ch... 阅读全帖 |
|
r****i 发帖数: 528 | 33 试着解第一题:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class DeepIteratorImpl implements Iterator {
//use a flat list to store all elements
private int currIndex;
private ArrayList flatC;
// Constructor
public DeepIteratorImpl (Collection> c) {
currIndex=-1;
flatC=new ArrayList();
getElement(c, flatC);
}
//get all the elements from the collection
private void getElement(C... 阅读全帖 |
|
c**y 发帖数: 73 | 34 1)给的一个double linkedlist,给定一个array,包含若干double linkedlist的节点
的地址,统计这个array包含的互相独立部分的数目。用例子说明吧。
一个double linkedlist是A<>B<>C<>...<>X<>Y<>Z(一共26个节点,从A到Z)。
如果array是{A,Z},那个return 2,因为A和Z两个不相邻的。
如果array是{A,B,D},那个return 2,因为AB是一个部分,D是另外一个独立的部分。
如果array是{A,B,C,。。。,Y,Z},那么return 1,因为AtoZ是一个独立的部分。
2)从给定的sorted的array如何build的一个balanced的binary tree?
开始给了一个recursive的方法,后来要一个iterative。
iterative的解法:
a.先建立一个空的balanced binary tree
建立这个空的balanced binary tree的方法可以参见如何用array来表示一个heap的方
法。具体是对于节点i,它的left和right child... 阅读全帖 |
|
r*********n 发帖数: 4553 | 35 1)给的一个double linkedlist,给定一个array,包含若干double linkedlist的节点
的地址,统计这个array包含的互相独立部分的数目。用例子说明吧。
一个double linkedlist是A<>B<>C<>...<>X<>Y<>Z(一共26个节点,从A到Z)。
如果array是{Z,A},那个return 2,因为A和Z两个不相邻的。
如果array是{A,D,B},那个return 2,因为AB是一个部分,D是另外一个独立的部分。
如果array是{A,B,C,。。。,Y,Z},那么return 1,因为AtoZ是一个独立的部分。
不能理解这个题意呢。LZ的例子里面a-z都是相连的,为什么
array是{Z,A},那个return 2
相互独立 = 不相邻? |
|
n****e 发帖数: 678 | 36 在网上和版上搜了半天,implement一个thread-safe blockingqueue. 大家看看有没有
问题:
import java.utils.LinkedList;
public class BlockingQueue {
private int capactiy;
private LinkedList elements;
public BlockingQueue(int capacity) {
if (capacity <=0 ) {
throw new exception();
}
this.capacity = capacity;
this.elements = new LinkedList ();
}
public synchronized void put(T t) {
while(elements.size() == capacity) {
w... 阅读全帖 |
|
x*********n 发帖数: 29 | 37 其实版上讨论过,我当时大概瞄过,光看了个用CIRCULAR BUFFER解,却不知道为啥。
面试官让写CODE就傻了,最后只好写了个用LINKEDLIST的。
题目就是有个msg class
class Msg
{
long key;
long value;
};
每个Msg都对应一个key。现在要设计一个class,实现如下功能
class Window
{
Window(int nMilliseconds);
addMsg(Msg m);
Msg getMsg(long key);
Double getAvg();
};
nMilliseconds给你了个time window,比如说如果是10分钟,你只保存当前为止10
分钟前的MSG。你需要能够添加信息,实现对于key的query(注意如果这个key对应的信
息是10分钟前的,就返回NULL), 和计算所有10分钟内msg的平均。
我本来想用circular array,但不知道该怎么存这些msg。还有就是每个key和msg应该
用map来存吧,但如果用CIRCULAR ARRAY对于过时的信息还是得在... 阅读全帖 |
|
|
|
n*****5 发帖数: 984 | 40 Phone1:
Q1.First position of integer in given sorted array with duplicate
Q2: Given inorder and preorder traversal strings of a binary tree, please
write code to reconstruct the tree
phone 2:
Q1: Best time to buy and sell stock.
Q2: Unsorted array with element 1~N. One element is replaced with another,
so there is one missing and one is duplicated. Find out which one is missing
/ duplicated.
---expected using swap or similar
yahoo onsite 每人45分钟
问web 结构 设计一个能够distributed, 快速查询的网络,支持restful 如何设计
从... 阅读全帖 |
|
p******o 发帖数: 4 | 41 面试官: 口头叙述的 Merge two sorted list
Me:接口是LinkedList还是Array?
面试官: 每种接口有什么优缺点
Me: 回答这是需求问题,LinkedList不需要临时存储空间
面试官:分析空间复杂度
Me: O(1) and O(n), 继续问需要用什么写Code
面试官:随便
Me: 写了标准实现with class Node {int val, Node next}, merge(Node head1, Node
head2)
面试官:为什么自定义Node class, 不用java.util.LinkedList?
Me: ... (这个真没仔细想过,胡乱答的)
面试官:纠缠各种java code 细节 of Node class: public, private, constructor等
Me: 回答以为是主要写算法,可以重写Node class to production ready.
面试官: 不用了,如何实现Merge K sorted list
Me: 可以递归调用Merge two sorted list, 或heap
面试官:... 阅读全帖 |
|
o******y 发帖数: 446 | 42 用链表和backtrack:
public int getMaxSum(int[] arr){
LinkedList q = new LinkedList<>();
for(int n: arr) q.add(n);
int[] res = new int[1];
res[0] = Integer.MIN_VALUE;
helper(res, q, 0);
return res[0];
}
void helper(int[] res, LinkedList q, int sum){
if(q.isEmpty()){
res[0] = Math.max(sum, res[0]);
return;
}
int size = q.size();
while(size-->0){
int v = q.rem... 阅读全帖 |
|
m********6 发帖数: 58 | 43 For the excel question, the solution is DFS and link list.
Say each cell contains value as well as a list of depended cells.
void update(Cell c, Set s, LinkedList l)
if (!s.add(c)) return;
for (Cell d : c.dependents)
update(d,s,l);
l.addHead(c);
List updateOrder(Cell c)
Set s = new HashSet();
LinkedList l = new LinkedList();
update(c,s,l);
Return l; |
|
f****e 发帖数: 923 | 44 print max depth path of a binary tree
给一个linkedlist,里面的element都排序好了,但是是一个blackbox,有三个
function可以调用。pop()随机pop出最前面或最
后面的element,peek()随机偷看最前面或最后面的element,isEmpty()回传
linkedlist是不是空了。问设计一个资料结构,list
或是array都可以,把linkedlist里面所有的element都拿出来,并保持他们的排序。
followup是如果不能用peek()该怎么做。 |
|
q***s 发帖数: 2243 | 45 数组的元素是LinkedList。
要求是没有警告!
LinkedList[] var = new LinkedList[]
不行
多谢 |
|
I**A 发帖数: 2345 | 46 LinkedList[] var = new LinkedList[8];
for(int i=0; i
var[i] = new LinkedList();
这样好像有警告不过.... |
|
z***e 发帖数: 5393 | 47 也可能是我太白痴哈。
很简单一个东西,我用maven的junit跑几个unit test,就是比较一下linear遍历和
threadpool并发处理,看时间的差异,也就大概是这样的东西:
public void test() {
int N=10000;
List data = new LinkedList();
// 先initialize
data.add(new Long[N]);
data.add(new Long[N]);
data.add(new Long[N]);
data.add(new Long[N]);
for(Long[] array :data) {
... //往里面填点数字
}
// 1. linear process
for(Long[] array : data) {
for(int i=0; i
if (array[i]%2 == 0) {
// 做一些简单计算
}
}
}
// 2. parallel
ExecutorServ... 阅读全帖 |
|
|
W*****d 发帖数: 4196 | 49 【 以下文字转载自 JobHunting 讨论区 】
发信人: fightclub (搏击俱乐部), 信区: JobHunting
标 题: A, A, G, G, L, C, Z, U 面经 + offer
发信站: BBS 未名空间站 (Fri Dec 18 11:43:09 2015, 美东)
之前也onsite了dropbox, pintreset, 和whatsapp都挂了,后来才慢慢找到点感觉。我
把面的题基本都写下了,但我不在这里和大家讨论这些题了。
A (Airbnb)
1. 2D array, 访问顺序必须是‘回’字的方式,就是从外圈转到里圈,写出class,
Iterator, hasNext(), next().
2. 电话号码和计费的一个log, 去parse 看规定时间内哪个号码产生费用最高。
3. leetcode anagram 的一题变种
4. 有很多个sorted queue存在不同服务器上,如何有效的读取到一个 sorted 大queue
里 (google也面到了这题)
5. 设计db, 如何存取房东和房客的reviews, 如何maintain... 阅读全帖 |
|
c*******a 发帖数: 1879 | 50 /**
* Parser for JSON text. Please note that JSONParser is NOT thread-safe.
*
* @author FangYidong<[email protected]>
*/
public class JSONParser {
public static final int S_INIT=0;
public static final int S_IN_FINISHED_VALUE=1;//string,number,boolean,
null,object,array
public static final int S_IN_OBJECT=2;
public static final int S_IN_ARRAY=3;
public static final int S_PASSED_PAIR_KEY=4;
public static final int S_IN_PAIR_VALUE=5;
public static final int S_END=6;... 阅读全帖 |
|