序列中任意个连续的元素组成的子序列称为该序列的子串。

现在给你一个序列P和一个整数K,询问元素和是K的倍数的子串的最大长度。

比如序列【1,2,3,4,5】,给定的整数K为 5,其中满足条件的子串为{5}、{2,3}、{1,2,3,4}、{1,2,3,4,5},

那么答案就为 5,因为最长的子串为{1,2,3,4,5};如果满足条件的子串不存在,就输出 0。

输入描述:

第一行包含一个整数N, 1 ≤ ? ≤ 105。

第二行包含 N 个整数??,??表示序列P第i个元素的值。0 ≤ ?? ≤ 105。第三行包含一个整数K,1 ≤ ? ≤ 105。

输出描述:

输出一个整数ANS,表示答案。

示例1

输入

5
1 2 3 4 5
5

输出

5

示例2

输入

6
3 1 2 7 7 7
4

输出

5

这一道题目穷举所有字串, 并判断的时间复杂度是O(N^3), 很容易优化到O(N^2), 但只能通过40%。 进一步优化到O(N) ,计算出所有前缀和,并模k,问题等价于判断,相隔最远的i,j,使得s[i]==s[j], 使用Hash表优化到O(N)

#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
const int N = 100010;
int num[N];
int s[N];int main()
{int n, k, res = 0;scanf("%d", &n);for (int i = 0; i < n; i++) scanf("%d", &num[i]);scanf("%d", &k);unordered_map<int, int> mp;s[0] = 0;for (int i = 1; i <= n; i++) {s[i] = (s[i - 1] + num[i-1])%k;}mp[0] = 0;for (int i = 1; i <= n; i++) {if (mp.find(s[i]) != mp.end()) {res = max(res, i - mp[s[i]]);}else mp[s[i]] = i;}cout << res << endl;
}

2018 美团校招笔试题 K 的倍数相关推荐

  1. 2018 美团校招笔试题详解

    栈必考题目 栈和队列必考题目 不选安全性,可以猜出是ABD 操作系统死锁的题目经常考 这题也是一道必考题 二叉树必考题 第一张抽出红的,第二张抽出黑的,概率是P=1/2* 26/51 第一张抽出黑的, ...

  2. 【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个

    要求: 这是本人参加美团校招在线考试笔试题,如果此行为违反了美团校招笔试题商业保密性,请与本人联系. 思路:用一个while循环扫描整个字符串,用pStart字符指针指向整个字符串首地址,如果遇到首部 ...

  3. 美团校招笔试题—数据开发方向(附答案)

    今天给大家的题目是美团点评的校招笔试题--数据开发方向 全都是选择题,文末附赠了答案大家一定要认真思考后再看答案哦~ 答案来了 欢迎各路大神在下面交流呀~

  4. 2018华为校招笔试题

    校招题1 字符串重排 给定一个原始字符串,统计字符串中各字符出现的次数,并按照ASCII码递增的顺序依次输出. 例:原始字符串为eeefgghh 统计字符串中各字符的出现次数: e : 3 f  : ...

  5. 2019 美团校招笔试题 外卖满减

    时间限制:1秒 空间限制:65536K 你打开了美了么外卖,选择了一家店,你手里有一张满X元减10元的券,店里总共有n种菜,第i种菜一份需要A_i元,因为你不想吃太多份同一种菜,所以每种菜你最多只能点 ...

  6. python任务调度系统面试题_经典算法题 :任务调度算法(美团校招笔试题)

    小贴士:返回上一级搜索"算法题"挑战更多题目. 备注: 1.不定期将从留言区选出认真答题的1名朋友,赠与书籍<算法详解(卷1)>一本(兑奖方法跟获奖者私下沟通) 请留言 ...

  7. 关于python类的继承正确的说法是_2017美团点评的运维岗校招笔试题,测测你会几题?...

    原标题:2017美团点评的运维岗校招笔试题,测测你会几题? 1.数据库:以下哪项不是HASH索引的特征? A MySQL不能确定在两个值之间大约有多少行 B 不能使用hash索引来加速ORDER BY ...

  8. 数据分析真题日刷 | 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷

    今日真题 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷(来源:牛客网) 题型 客观题:单选5道,不定项选择10道 主观题:问答4道 完成时间 90分钟 牛客网评估难度系数 ...

  9. 武汉光迅科技22校招笔试题(武汉邮科院控股国企上市大厂Python的txt文本处理笔试题)

    武汉光迅科技22校招笔试题(武汉邮科院控股国企上市大厂Python的txt文本处理笔试题) 资源: https://download.csdn.net/download/weixin_53403301 ...

  10. 百度2019校招笔试题

    百度2019校招笔试题 1. 探险安排 小明要为n个人计划一次火星的探险,其中一个重要的任务是为每个参与者安排食物.仓库里面有m个能用一天的食物包裹,每个食物包裹有不同的类型ai.每个人每天必须用且只 ...

最新文章

  1. 100c之50:到底谁在说谎
  2. 7.1.15 单双击事件
  3. python 多数据输出到txt_详解python读取和输出到txt
  4. python线性回归预测pm2.5_线性回归--PM2.5预测--李宏毅机器学习
  5. java plat停止_击按钮就停止运行,大牛帮我看看
  6. ubuntu终端下快捷键,字体放大缩小等【逐渐完善篇】
  7. 国内主流Android安卓应用市场简介
  8. php png缩放,PHP实现对png图像进行缩放的方法(支持透明背景)
  9. Unity 编辑器内建图标获得
  10. JAVA编程规范总结
  11. 使用DBATools PowerShell修复SQL Server中的孤立用户
  12. 强烈推荐!入门大数据分析必看的知识点总结,适合零基础学习
  13. 2020年11月连云港计算机考试,2019年江苏省连云港市下半年全国计算机等级考试考务通知...
  14. matlab中提示错误使用* BLAS loading error解决方法
  15. Tensorflow——placeholder(矩阵运算小实例)
  16. 程序员有了孩子,老大叫玲玲,老二叫玲依,老三叫...
  17. java wsdl 服务端代码_wsdl2java 生成 webservice服务端代码:
  18. Mobileye技术与市场走势
  19. Web大学生网页作业成品~美食餐饮网站设计与实现(HTML+CSS+JavaScript)
  20. 计算机组装与维护要点,《计算机组装与维护》要点.ppt

热门文章

  1. 冰冻三尺,非一日之寒!
  2. ID3、C4.5决策树算法的Python实现(注释详细)
  3. 【附源码】计算机毕业设计java-志愿者管理系统设计与实现
  4. 电影TS/TC/SCR/R5/BD/HD/HC版本意思收集(转)
  5. np.stack()函数详解
  6. Excel打开时自动开一个sheet1页面
  7. 木马万能查杀清除方法,木马专杀
  8. python作业代做_CSC1001作业代做、代写Programming Methodology作业、代做Python实验作业、Python程序设计作业调试...
  9. bzoj3144 切糕
  10. 硬盘突然变raw格式_硬盘突然变成RAW格式解决办法