前些天面了Amazon seattle, 很快收到面试通知,一面很顺利,第二天就收到二面通知。
一面就问了一些基本的问题,算法就问了一个公共子串的问题,出了个budge,不过提醒后很快就fix掉。
然后问数据结构,树和图,比较基本,判断是图还是树。
二面上来都没寒暄几句就直接进入面试。。。结果太紧张,第一题就听错题目,给出了很有把握的一个算法。结果考官说你确定听清题目了?于是又重复了一遍,发现确实听错了,于是用hash和排序解决问题。
接下来是一个简单的DP。
然后问什么是BST,怎么实现。这个很清楚,但是要求在纸上coding,然后电话里大声读给他听,然后就杯具了。。。“&”符号不知道该怎么读,只能说logic and。。。面试官听不懂。。。然后纠结。。。最后说是keyboard上面数字7上方的符号(^^|||),然后更加紧张,类里面忘了写初始化构造函数,然后直到面试结束都没发现。。。结果就杯具了。。。
不过anyway,确实学到了东西,还是挺不错的经历。
希望后面的面试能够顺利^_^
我们队 southeast university FT2 拿了个银牌,nice
要是如果把那个后缀数组的模版也带去的话就更nice了,G也能搞定了,那就...
不过还是挺nice的^_^
#include <stdio.h>
#include <string.h>
using namespace std;
int i,t,n,m,k;
int x1,x2,y1,y2;
char p[110][110];
short turn[110][110];
bool dfs(int x,int y,int t,int d)
{
int tx,ty,tt,td,i,j;
bool flag;
if(x<0 || x>=n || y<0 || y>=m)
return false;
if(t > turn[x][y] || t > k) return false;
else turn[x][y] = t;
if(t == k)
if(x!=x2-1 && y!=y2-1)
return false;
if(x==x2-1 && y==y2-1) return true;
for(i=0;i<4;i++)
{
if(i==2) continue;
td = (d+i) % 4;
tt = t + i%2;
switch(td)
{
case 0:
tx = x-1;
ty = y;
break;
case 1:
tx = x;
ty = y+1;
break;
case 2:
tx = x+1;
ty = y;
break;
case 3:
tx = x;
ty = y-1;
break;
}
if(p[tx][ty] == '.')
{
p[tx][ty] = '*';
if( dfs(tx,ty,tt,td) )
{
p[tx][ty] = '.';
return true;
}
p[tx][ty] = '.';
}
}
return false;
}
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d %d",&n,&m);
getchar();
for(i=0;i<n;i++)
gets(p[i]);
scanf("%d %d %d %d %d",&k,&y1,&x1,&y2,&x2);
memset(turn,127,sizeof(turn));
for(i=0;i<4;i++)
{
p[x1-1][y1-1] = '*';
if( dfs(x1-1,y1-1,0,i) )
break;
}
if(i==4) printf("no\n");
else printf("yes\n");
}
}
摘要: #include <stdio.h>#include <string.h>char ss[1000][1000];void pp1(int a , int b , int c) //a 行数 b最大数 c最小数 { int i , j , k , p , q; for(j = 1;j <= a;j++) for(k = 1;k <= a;k++) ss[j][...
阅读全文
摘要: 一般都能作出个4,5题来,可惜我们有两题dp没有想到,不然的话应该就好了^_^
阅读全文
摘要: #include<stdio.h>#include<string>#include<algorithm>using namespace std;int t,k,m;int books[510];int dp[510][510];int part[510];#define Max(x,y) ((x)>(y)?(x):(y))#define Min(x,y) ...
阅读全文
摘要: 称球问题:给定一架天平,有n个球,其中一个是次品。结论1 次品的重量比其他的重,称ceil(log3(n))次就能找出那个次品。结论2 轻重不详。有一个标准球。称ceil(log3(2*n)) 次就可以找到次品,并且知道轻重。结论3 轻重不详。称ceil(log3(2*n+2)) 次就可以找到次品,并且次品的轻重。结论4 轻重不详。有一个标准球,称ceil(log3(2*n-1)) 次就可以找出次...
阅读全文