m*c
2 楼
上周末做了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,不是
修改了*list
*list = prev;
if (*list == NULL)
return;
LinkedList *next = prev->next;
while (next) {
if (next->val == val)
prev->next = next->next;
else
prev = next;
next = next->next;
}
}
第二道题目是说要在一个有序数组里,找到所有之差为D的两个元素。给了一个学生实
现的函数,但是他的代码有bug,让你找出错误,并改正。我的代码test cases5个全过
。我觉得这个题目应该是很简单,没有什么trick。
上就收到了拒信,下面是题目。
第一题是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,不是
修改了*list
*list = prev;
if (*list == NULL)
return;
LinkedList *next = prev->next;
while (next) {
if (next->val == val)
prev->next = next->next;
else
prev = next;
next = next->next;
}
}
第二道题目是说要在一个有序数组里,找到所有之差为D的两个元素。给了一个学生实
现的函数,但是他的代码有bug,让你找出错误,并改正。我的代码test cases5个全过
。我觉得这个题目应该是很简单,没有什么trick。
a*1
3 楼
看起来不错啊...
w*r
4 楼
猪哥来一首
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
p*U
5 楼
请问lz之前还做了10道选择题的online test么?
g*t
6 楼
天涯人肉结果: 夏燕是谢佳在北音的同学, 而且有BF, 都是T
s*n
7 楼
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 的大作中提到】
: 上周末做了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;
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 的大作中提到】
: 上周末做了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;
t*e
8 楼
转猪夫人审阅
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
p*U
9 楼
如果他要用双指针做参数, 还是用double pointer吧, 用 dummy head的话,感觉会
让interviewer 觉得理解指针不够透彻。
void removeNode(int val, ListNode **list) {
while(*list!=NULL){
if((*list)->val==val){
ListNode *next=(*list)->next;
delete *list;
*list=next;
}
else {
list=&(*list)->next;
}
}
}
让interviewer 觉得理解指针不够透彻。
void removeNode(int val, ListNode **list) {
while(*list!=NULL){
if((*list)->val==val){
ListNode *next=(*list)->next;
delete *list;
*list=next;
}
else {
list=&(*list)->next;
}
}
}
s*s
11 楼
跟我做的一模一样,不过我是用C写的。
没有C++...
前面还是10题简单题:
比如, 我想一个0到1000的数,只能回答你yes/no,用什么策略可以找到这个数,并且
猜的次数的worse case最小?最小值多少少。
其他忘了。
没有C++...
前面还是10题简单题:
比如, 我想一个0到1000的数,只能回答你yes/no,用什么策略可以找到这个数,并且
猜的次数的worse case最小?最小值多少少。
其他忘了。
m*c
15 楼
看到你的觉得自己写的确实不怎么地。。。
另外像这种情况需要在函数里面delete那些node吗?
【在 p****U 的大作中提到】
: 如果他要用双指针做参数, 还是用double pointer吧, 用 dummy head的话,感觉会
: 让interviewer 觉得理解指针不够透彻。
: void removeNode(int val, ListNode **list) {
: while(*list!=NULL){
: if((*list)->val==val){
: ListNode *next=(*list)->next;
: delete *list;
: *list=next;
: }
: else {
另外像这种情况需要在函数里面delete那些node吗?
【在 p****U 的大作中提到】
: 如果他要用双指针做参数, 还是用double pointer吧, 用 dummy head的话,感觉会
: 让interviewer 觉得理解指针不够透彻。
: void removeNode(int val, ListNode **list) {
: while(*list!=NULL){
: if((*list)->val==val){
: ListNode *next=(*list)->next;
: delete *list;
: *list=next;
: }
: else {
b*5
17 楼
你还是多练练题吧。 这种题, 做对了, 再去面FB
直没
N
【在 m********c 的大作中提到】
: 上周末做了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;
直没
N
【在 m********c 的大作中提到】
: 上周末做了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;
z*e
18 楼
而且人品好,别人想换位子就换位子,也不说刻薄话
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
s*e
25 楼
说实话这些题目不难。
如果这样的题目都做不到你估计过不了onsite的。
如果这样的题目都做不到你估计过不了onsite的。
n*n
26 楼
太胖
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
m*c
27 楼
上周末做了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,不是
修改了*list
*list = prev;
if (*list == NULL)
return;
LinkedList *next = prev->next;
while (next) {
if (next->val == val)
prev->next = next->next;
else
prev = next;
next = next->next;
}
}
第二道题目是说要在一个有序数组里,找到所有之差为D的两个元素。给了一个学生实
现的函数,但是他的代码有bug,让你找出错误,并改正。我的代码test cases5个全过
。我觉得这个题目应该是很简单,没有什么trick。
上就收到了拒信,下面是题目。
第一题是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,不是
修改了*list
*list = prev;
if (*list == NULL)
return;
LinkedList *next = prev->next;
while (next) {
if (next->val == val)
prev->next = next->next;
else
prev = next;
next = next->next;
}
}
第二道题目是说要在一个有序数组里,找到所有之差为D的两个元素。给了一个学生实
现的函数,但是他的代码有bug,让你找出错误,并改正。我的代码test cases5个全过
。我觉得这个题目应该是很简单,没有什么trick。
p*U
29 楼
请问lz之前还做了10道选择题的online test么?
J*n
30 楼
脸太大了
歌唱得不错
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
歌唱得不错
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
s*n
31 楼
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 的大作中提到】
: 上周末做了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;
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 的大作中提到】
: 上周末做了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;
p*a
32 楼
夏燕不化妆无好看
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
p*U
33 楼
如果他要用双指针做参数, 还是用double pointer吧, 用 dummy head的话,感觉会
让interviewer 觉得理解指针不够透彻。
void removeNode(int val, ListNode **list) {
while(*list!=NULL){
if((*list)->val==val){
ListNode *next=(*list)->next;
delete *list;
*list=next;
}
else {
list=&(*list)->next;
}
}
}
让interviewer 觉得理解指针不够透彻。
void removeNode(int val, ListNode **list) {
while(*list!=NULL){
if((*list)->val==val){
ListNode *next=(*list)->next;
delete *list;
*list=next;
}
else {
list=&(*list)->next;
}
}
}
s*s
35 楼
跟我做的一模一样,不过我是用C写的。
没有C++...
前面还是10题简单题:
比如, 我想一个0到1000的数,只能回答你yes/no,用什么策略可以找到这个数,并且
猜的次数的worse case最小?最小值多少少。
其他忘了。
没有C++...
前面还是10题简单题:
比如, 我想一个0到1000的数,只能回答你yes/no,用什么策略可以找到这个数,并且
猜的次数的worse case最小?最小值多少少。
其他忘了。
m*c
39 楼
看到你的觉得自己写的确实不怎么地。。。
另外像这种情况需要在函数里面delete那些node吗?
【在 p****U 的大作中提到】
: 如果他要用双指针做参数, 还是用double pointer吧, 用 dummy head的话,感觉会
: 让interviewer 觉得理解指针不够透彻。
: void removeNode(int val, ListNode **list) {
: while(*list!=NULL){
: if((*list)->val==val){
: ListNode *next=(*list)->next;
: delete *list;
: *list=next;
: }
: else {
另外像这种情况需要在函数里面delete那些node吗?
【在 p****U 的大作中提到】
: 如果他要用双指针做参数, 还是用double pointer吧, 用 dummy head的话,感觉会
: 让interviewer 觉得理解指针不够透彻。
: void removeNode(int val, ListNode **list) {
: while(*list!=NULL){
: if((*list)->val==val){
: ListNode *next=(*list)->next;
: delete *list;
: *list=next;
: }
: else {
b*5
41 楼
你还是多练练题吧。 这种题, 做对了, 再去面FB
直没
N
【在 m********c 的大作中提到】
: 上周末做了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;
直没
N
【在 m********c 的大作中提到】
: 上周末做了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;
p*a
46 楼
人家早走了呀。马诺都走了呢。
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
【在 l*********u 的大作中提到】
: http://www.wuliaoo.com/hi-girl-xia-yan.html
: 那首歌真的也很好听。最值得祝福的一对了。
s*e
48 楼
说实话这些题目不难。
如果这样的题目都做不到你估计过不了onsite的。
如果这样的题目都做不到你估计过不了onsite的。
J*3
50 楼
同楼上, 这个删除完了链表也没法再遍历了吧。还是pre, cur, post 这种方法删吧
F*s
51 楼
这个online test是让你填写代码还是要将输入输出都写好?
相关阅读