2021.3.7阿里研发笔试第一场 - 研发工程师JAVA (实习生)
有一点比较纳闷的是,这个岗我没投,可能后来被其他部门捞起来了,我记得之前投的岗简历都没过。而且发来的邮件是c++/java,但是笔试界面的标题就是研发工程师JAVA。纳闷
昨天晚上7-8点,一个小时的笔试,两道编程题,开手机监控屏幕监控和摄像头,环境调试也就一分钟左右就ok。
阿里的笔试是测试样例只是用来测试,基本上后台数据是没有测试样例的,所以不会写的话也没法通过输入直接输出去混得分点。
第一道编程题
(没写出来)
题目:给一个 ,表示一个 的矩形,现在手里有若干张为1、2、3的牌,现在我们需要往每个方格里去放牌,放牌的要求是:当前位置的牌要和它上下左右不一样。问有多少种不同的方法数(方法数对 取余)。
思路:DFS尝试失败,暴力尝试失败
第二道编程题
(过了20%的数据)
题目:给出 、、,分别表示有 条地铁线,起点,终点。
接下去 行,一行先给出一个 ,下面一行给出这条地铁线上的 个站点。
如果两条线中有相同的站点,说明可以进行转车。
问:从 到 最少要转几次地铁。
思路1:vector直接写失败,并查集尝试失败。直接写了特殊样例的判断过了20%的数据(不存在 或 ; 和 在一条线上)
思路2:后来找了大佬问一下,正确解法应该是:可以把同一条地铁线上的所有站点之间距离设为0,其他站点之间设为1,最后转化图,然后 到 直接转换成最短路就行了。有道理。
我的代码:(过了20%的数据)
#include<iostream>
#include<string.h>
#include<vector>
using namespace std;
#define inf 0x3f3f3f3f
typedef long long ll;
const int N=1e5+10;
int n,s,t;
int main()
{
bool flag1=0,flag2=0,flag=0;
scanf("%d %d %d",&n,&s,&t);
for(int i=0;i<n;i++)
{
int k;
scanf("%d",&k);
int xx=0,yy=0;
int x,y;
cin>>x;
for(int j=2;j<=k;j++)
{
cin>>y;
if(y==s) flag1=1,xx++;
if(y==t) flag2=1,yy++;
}
if(xx==1&&yy==1) flag=1;
}
if(!flag1&&!flag2)
printf("-1\n");
else if(flag)
printf("0\n");
return 0;
}
分类:
面试
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
2020-03-07 寒假Day44:JAVA-异常处理
2020-03-07 寒假Day44:bfs