概述
给你一个整数数组 arr 和一个整数 k ,其中数组长度是偶数,值为 n 。
现在需要把数组恰好分成 n / 2 对,以使每对数字的和都能够被 k 整除。
如果存在这样的分法,请返回 True ;否则,返回 False 。
数学题:
(A+B)%k==A%k+B%k
开一个长度为K的空间mod,将arr中的每一个数做mod[one%k]++,mod[0]就是可以整除k的个数,必须是偶数,其他的任意需满足mod[i]==mod[k-i]
class Solution:
def canArrange(self, arr: List[int], k: int) -> bool:
mod=[0]*k
for a in arr:mod[a%k]+=1
for i in range(1, k // 2+1):
if mod[i]!=mod[k-i]:return False
return mod[0]%2==0
最后
以上就是幽默皮带为你收集整理的1497. 检查数组对是否可以被 k 整除的全部内容,希望文章能够帮你解决1497. 检查数组对是否可以被 k 整除所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复