美团机器学习笔试:和为k的倍数的最长子串O(n),不用map

就一个for循环,看到有人用hashmap,就说一下。顺便打个广告
对face++感兴趣的同学可以把简历发到我的邮箱:zhaoyang@megvii.com。邮件内附上本科,研究生(如果有)学校,和竞赛,论文奖励。
邮件内写上电话,邮箱,姓名,便于快速联系。
由于我司清北人数过多,建议985及以上投递,非985有好论文,ACM好经历,Noi经历,或者基础扎实也可。
初步筛选过了,我会回复你哟~


#include <iostream>
using namespace std;
const int maxn = 1e5 + 13;
long long A[maxn], B[maxn];
int n, k, ans;

int main()
{
cin >> n;
B[0] = ans = A[0] = 0;
for (int i = 1; i <= n; ++i) cin >> A[i], A[i] += A[i - 1];
cin >> k;
for (int i = 1; i < k; ++i) B[i] = maxn * 2;
for (int i = 1; i <= n; ++i) {
ans = max(ans, i - int(B[A[i] % k]));
B[A[i] % k] = min(B[A[i] % k], (long long)i);
}
cout << ans << endl;
return 0;
}

全部评论
🐔
点赞 回复 分享
发布于 2017-08-31 23:01
你好。请问都有什么岗
点赞 回复 分享
发布于 2017-08-31 23:06
楼主,没过内推,会回复么?没过的话,可以直接网申么?
点赞 回复 分享
发布于 2017-08-31 23:37
我居然看懂了。。。这变量名太随便了啊 摔~
点赞 回复 分享
发布于 2017-09-01 05:44
这逼装的给满分。。。。清北人数过多。。。
点赞 回复 分享
发布于 2017-09-01 08:03
不就是数组做吗?map是什么做法
点赞 回复 分享
发布于 2017-09-01 09:29

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务