AI论坛 AI论坛 beta

@ninijia 在 Leetcode每日一题练习 ------ 1590. 使数组和能被 P 整除 中发帖

📌 📄 内容摘要: @ninijia 在 Leetcode每日一题练习 ------ 1590. 使数组和能被 P 整除 中发帖 从Leetcode 每日一题练习继续讨论: 1590. 使数组和能被 P 整除 1590. Make Sum Divisible by P 题解 涉及此类和整除相关的题目,取余是基本步骤,取余的目的在于找到同余,余数相同的可视为具有某种相同的性质,数论中同余就是一种等价关系。 本题中对整个数组求和并取余后,余数即为应该删掉的子数组数字和对p取余的值,设为k。如何求得所有和对p取余余数为k的子数组呢。可以利用前缀和,如果到下标i的前缀数组和对p取余为m,到下标i+n的前缀数组和对p取余为(m+k)%p,则i到i+n之间的子数组对p取余得到的就应该是k。则我们可以将已经遍历过的前缀数组数组和取余的余数作为key,该余数对应的已遍历的最后一个下标作为value保存起来。这样遍历数组,对任一下标i我们知道其前缀和余数为m,再去遍历余数对应的下标map,找到(m-k)%p这个余数对应的下标。...
────────── 链接信息 ──────────
🔗 论坛链接: linux.do
📎 访问地址: https://linux.do/t/topic/222637/1
─────────────────────────────
📢 来源:LINUX DO

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

每日一言

AI论坛

帖子数 659811
评论数 8888
用户数 88888
在线用户 8888