Redian新闻
>
H1B进入美国做博士后,然后怎么混呢?
avatar
H1B进入美国做博士后,然后怎么混呢?# Environmental - 环境科学与工程
j*9
1
一次遍历找到单链表倒数第m个元素。
一道老题。
网上有code。看起来没什么问题。但也有人说这个不是一次遍历。求一次遍历的正解代码。
只是对于test case 怎么写不太清楚。
struct iNode {
int value;
iNode * next;
};
iNode * getresult(iNode * head,int n)
{
iNode *pfirst;
iNode *psecond;
pfirst=head;
int counter;
for(counter=0;counterpfirst=pfirst->next;
}
psecond=head;
while(pfirst!=NULL) {
pfirst=pfirst->next;
psecond=psecond->next;
}
return psecond;
}
avatar
e*s
2
H1B进入美国做博士后,然后怎么混呢?
再找工业界的工作,有没有签证、劳工上的问题?
avatar
j*9
3
如果这个算是两次遍历的话。
谁能给个一次遍历的正解。急用。谢谢。
avatar
h*k
4
有. 工业届的H1B名额有限.
avatar
s*e
5
这个就是一次遍历,但是有一些bug, 没有考虑n<0以及链表长度小于n+1的情况。下面
是一些修改以及测试用例。
#include
struct iNode {
int value;
iNode * next;
iNode() { value = 0; next = NULL; }
iNode(int v) : value(v) { next = NULL; }
iNode(int v, iNode* nx) : value(v), next(nx) {}
};
iNode * getNthLastNode(iNode * head, int n) {
if (head == NULL || n < 0) return NULL;
iNode* pfirst = head;
for (int counter = 0; counter < n; counter++) {
if (pfirst->next != NULL)
pfirst = pfirst->next;

【在 j****9 的大作中提到】
: 如果这个算是两次遍历的话。
: 谁能给个一次遍历的正解。急用。谢谢。

avatar
l*u
6
This could be a problem for postdocs. Our firm interviewed a candidate over
the phone last friday. He has a very very strong background (PhD from niu
school, niu boss. Now postdoc at niu school). The phone interivew also went
quite well. Yesterday, we were talking about flying him down here. However,
he is under J-1 right now, which means, he probably would not be able to
start working for us until 10/2009, unless something else gets worked out.
In this sense, I think students should really plan

【在 h*****k 的大作中提到】
: 有. 工业届的H1B名额有限.
avatar
j*9
7
测试用例没太看明白。
其实原题只问了倒数第5个,所以我写个general函数时没考虑n为负数的情况。
iNode() { value = 0; next = NULL; }
iNode(int v) : value(v) { next = NULL; }
iNode(int v, iNode* nx) : value(v), next(nx) {}
这三行必要么?
avatar
e*s
8
请教:
就是持H1B进入美国,找下一个工作长期留在美国,比J1容易?
avatar
j*9
9
我是用文字表达test cases的。
Empty Linked list {}, expected output null
Linked list of one element {1}, expected output null
Linked list of five elements {1, 2, 3, 4, 5}, expected output 1
Linked list of more than five elements {1, 2, 3, 4, 5, 6}, expected output 2
需要写成程序? 能帮写一个么?
avatar
h*k
10
J1需要豁免, 稍微费点手续, 但基本没什么问题. 所以, 想长期工作, H1B和J1没啥大
的区别.

【在 e*s 的大作中提到】
: 请教:
: 就是持H1B进入美国,找下一个工作长期留在美国,比J1容易?

avatar
s*e
11
如果是应聘测试的话,那就要更加细心一点了,比如还要排除head == NULL的情况。
那三行是为了写代码简单一点。否则你new了一个iNode,你还要设置value和next。前提
是你是在写C++代码,如果是C代码那就只好麻烦一点了。

【在 j****9 的大作中提到】
: 测试用例没太看明白。
: 其实原题只问了倒数第5个,所以我写个general函数时没考虑n为负数的情况。
: iNode() { value = 0; next = NULL; }
: iNode(int v) : value(v) { next = NULL; }
: iNode(int v, iNode* nx) : value(v), next(nx) {}
: 这三行必要么?

avatar
s*e
12
。。。希望你不是应聘开发的职位,呵呵
// 从数组构建链表的函数
iNode * buildLinkList(int a[], int n) {
if (a == NULL || n <= 0) return NULL;
iNode* head = new iNode(a[0]);
iNode* tail = head;
for (int i = 1; i < n; ++i) {
tail->next = new iNode(a[i]);
tail = tail->next;
}
return head;
}
// 释放链表内存的函数
void destroyLinkList(iNode* head) {
while (head != NULL) {
iNode* tmp = head->next;
delete head;
head = tmp;
}
}
// 打印链表
void printLinkList(iNode* head) {
if

【在 j****9 的大作中提到】
: 我是用文字表达test cases的。
: Empty Linked list {}, expected output null
: Linked list of one element {1}, expected output null
: Linked list of five elements {1, 2, 3, 4, 5}, expected output 1
: Linked list of more than five elements {1, 2, 3, 4, 5, 6}, expected output 2
: 需要写成程序? 能帮写一个么?

avatar
c*a
13
递归?或者用stack?

代码。

【在 j****9 的大作中提到】
: 一次遍历找到单链表倒数第m个元素。
: 一道老题。
: 网上有code。看起来没什么问题。但也有人说这个不是一次遍历。求一次遍历的正解代码。
: 只是对于test case 怎么写不太清楚。
: struct iNode {
: int value;
: iNode * next;
: };
: iNode * getresult(iNode * head,int n)
: {

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。