日志01/19/18
2018-01-20 本文已影响0人
Muama
今天以前的professor 发了个intren position给我,收到了hr email,虽然岗位看着一般,但似乎与无人车有点关系,先试试手吧,准备一波简历,要面试了
挡板题:
我都用exclude做法
array dedup I
只保留一个
int i = 1;
for (int j = 1; j < array.length; j++){
if (array[j] != array[i - 1]){
array[i++] = array[j];
}
}
array dedup II
保留两个
int i = 2;
for (int j = 2; j < array.length; j++) {
if (array[j] != array[i - 2]) {
array[i++] = array[j];
}
}
array dedup III
重复的全都不保留, tricky的地方是需要两个fast一个是cur,另一个指针来记录重复开始
int i = 0, j = 0;
while (j < array.length) {
int k = j;
while (j < array.length && array[j] == array[k]) {
j++;
}
if (k + 1 == j) {
array[i++] = array[k];
}
}
Move 0s To The End I
不需要保留原array的relative oreder
两指针相向而行就可以
Move 0s To The End II
需要保留原array的relative oreder
那么我们只能两指针同向而行