每日一题之 hiho1796 完美K倍数组

给定一个整数数组A和整数K,如果数组中的任意两个不同元素的和是K的倍数,那么这个数组被称为完美K倍数组。任务是找到A的最长完美子数组B并返回其长度。若不存在这样的子数组,则输出-1。对于样例输入5 3 和[1, 3, 2, 3, 6],输出为3,因为[2, 3, 6]是一个满足条件的子数组。" 110128891,9054010,概率论与机器学习:条件期望在二元随机变量中的应用,"['概率论', '随机变量', '统计学', '数学基础', '机器学习理论']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述
如果一个数组满足长度至少是2,并且其中任意两个不同的元素Ai和Aj (i ≠ j)其和Ai+Aj都是K的倍数,我们就称该数组是 完美K倍数组。

现在给定一个包含N个整数的数组A = [A1, A2, … AN]以及一个整数K,请你找出A的最长的完美子数组B,输出B的长度。

如果这样的子数组不存在,输出-1。

输入
第一行包含两个整数N和K。

第二行包含N个整数A1, A2, … AN。

1 ≤ N ≤ 100000

1 ≤ Ai, K ≤ 1000000000

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

样例输入
5 3
1 3 2 3 6
样例输出
3

思路:

首先第一种情况:
要满足 A[i]+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值