首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

和可被k整除的子数组问题

. - 力扣(LeetCode) 二·思路: 思路:前缀和第二种表示方式即循环列出方式+同余定理+取模修正: 还是通过循环把它分为由0到i的位置一次由i位置往前走去组合,即可以得到所有的情况,因此要判断...x%k=0即转化为(sum-前缀和)%k成立即可 即由同余定理——> 满足sum%k=前缀和%k 通俗一点也就是通过for循环每次遍历前缀和(sumi之前的sum)都放入了hash,当遍历到i位置,只需要判断...hash中是否对应sum%k下标是否存在值即可 注意:存在负数和0,不能用滑动窗口。...int remainder=(sum%k+k)%k;//这里进行了修正处理原因是如果余数出现负数,则可能会有情况不符合如:【-1,2,9】,k=2这里 //2是一个子数组,但是...sum加到2,此时余数是1,而hash没有对应1的下标只有-1(-1%2)故这时可以通过修正把它变为1 if(hash.count(remainder)) ret+=hash

2400
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    LeetCode刷题DAY 25:和可被 K 整除的子数组

    难度:中等 关键词:同余定理、哈希表 ⭐️⭐️⭐️⭐️ 1 题目描述 给定一个整数数组A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。...如输入 A = [4,5,0,-2,-3,1], K = 5,返回7(因为有7个连续子数组的和可被5整除)。...2 题解 思路:哈希表 本题跟LeetCode刷题DAY 17:和为k的子数组较为类似,定义pre(i)为[0,i]内的所有元素和,则有pre(i)=pre(i-1)+A[i]关系,要找有多少个(pre...(i)-pre(j-1))可被K整除。...在本题中,即有(pre(i)-pre(j-1))|K等同于pre(i)≡pre(j-1)(mod K),因此我们在本题中可以建立哈希表,已余数为键,已该余数出现次数为值,计算哈希表中与pre(i)|K取值一样的键对应值的和即可

    44820

    JavaScript算法题:查找数字在数组中的索引

    我们必须对数字数组进行升序排序,并找出给定数字在该数组中的位置。 算法说明 将值(第二个参数)插入到数组(第一个参数)中,并返回其在排序后的数组中的最低索引。返回的值应该是一个数字。...解决方案#1:`.sort()`,. indexOf`()` PEDAC 理解问题:有两个输入:一个数组和一个数字。我们的目标是将输入的数字在输入数组后中排序后,再返回它的索引。...我们的目标是将输入的数字在输入数组后中排序后,再返回它的索引。 示例/测试用例:我们不知道输入的数组是以哪种方式排序的,但是提供的测试用例清楚地表明,输入的数组应该从小到大进行排序。...这个解决方案需要考虑两个边界情况: 如果输入数组为空,则我们需要返回 0,因为 num 将是该数组中的唯一元素,所以它在索引为 0 的位置。...让我们看看.findIndex() 并了解它将如何帮助解决这一挑战: .findIndex() 返回数组中第一个满足条件的元素索引。否则它将返回 -1,这表示没有元素通过测试。

    2K20

    【JavaScript】内置对象 - 字符串对象 ④ ( 根据索引位置返回字符串中的字符 | 代码示例 )

    文章目录 一、根据索引位置返回字符串中的字符 1、charAt 函数获取字符 2、charCodeAt 函数获取字符 ASCII 码 3、数组下标获取字符 String 字符串对象参考文档 : https...://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String 一、根据索引位置返回字符串中的字符...根据索引位置返回字符 : 给定一个 字符串 中的索引值 , 获取 字符串 中的该 索引的对应字符 ; charAt(index) 函数 : 获取 index 索引对应的 字符 ; charCodeAt(...index) 函数 : 获取 index 索引对应的 字符的 ASCII 码 ; str[index] : 直接使用数组下标的方式获取对应 下标索引 对应的 字符 ; 1、charAt 函数获取字符 charAt...使用数组下标的方式 , 可以获取指定索引的字符 , 其效果与 charAt 函数相同 ; 如果设置的数组下标 index 值不在 0 ~ str.length - 1 范围内 , 则获取的值为 undefined

    10910

    总持续时间可被 60 整除的歌曲

    题目描述 在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。 返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。...形式上,我们希望索引的数字 i < j 且有 (time[i] + time[j]) % 60 == 0。...提示: 1 <= time.length <= 60000 1 <= time[i] <= 500 解法 根据题意可知,需要找出数组中每一对数字,其数字和为 60 的整数倍,计算出共有多少对这样对数字。...因为每个数字都是正数,不妨数组中每位数字对 60 取余数,这样要求的两个数字和为 60 或 0 即可,而不再是 60 的整数倍。...对于元素值为 0 和 30 的情况,其对数的个数为 l*(l-1)/2,根据对称性,只需遍历 1~29 的情况即可。

    57000

    Python 刷题笔记:数组专项练习一

    而用于区分数组的各个元素的数字编号则被称为下标,若为此定义一个变量,即为下标变量。...至于下标,我们通常称为索引。 题目一 「第 1010 题:总持续时间可被 60 整除的歌曲」 难度:简单 在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。...返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字 i 和 j 满足 i 的数字规律,20 + 40 可以,80 + 40 也可以,20 和 80 等效、其相同点是整除 60 后结果是相同的。...所以,关键点来了,时间列表中每个数字可能差异极大,但对题目生效的只有该数整除 60 的余数结果:余数为 1 的和余数为 59 的组合必然满足题意要求。 拿到所有余数后,其范围是 0 到 59。

    1.2K20

    【优先算法】思还故里闾,欲归道无因 - 前缀和

    和为K的子数组 题目链接: 560. 和为 K 的子数组 题目描述: 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。...和可被 K 整除的⼦数组(蓝桥杯真题) 题目链接: 974....和可被 K 整除的⼦数组 题目描述: 给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的非空 子数组 的数目。 子数组 是数组中 连续 的部分。...• 想知道有多少个「以 i 为结尾的可被 k 整除的子数组」,就要找到有多少个起始位置为 x1, x2, x3… 使得 [x, i] 区间内的所有元素的和可被 k 整除。...连续数组 题目链接: 525. 连续数组 题目描述: 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。

    3900

    【优选算法题练习】day8

    和可被 K 整除的子数组 1.题目简介 974....和可被 K 整除的子数组 给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的(连续、非空) 子数组 的数目(子数组 是数组的 连续 部分)。...连续数组 1.题目简介 525. 连续数组 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。...) e = -1; } //将数组中的0转化为-1,这样问题就转变为和为0的最长连续子数组,推测为找和为sum的最短连续子数组 int sum = 0;...和为 K 的子数组 1.题目简介 560. 和为 K 的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 。

    13920

    【算法专题】前缀和

    因此,我们可以先预处理出来两个数组,⼀个表示前缀和,另一个表示后缀和。 然后,我们可以用一个 for 循环枚举可能的中心下标,判断每一个位置的「前缀和」以及「后缀和」,如果二者相等,就返回当前下标。...和为K的子数组 题目链接 -> Leetcode -560.和为K的子数组 Leetcode -560.和为K的子数组 题目:给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为...和可被K整除的子数组 题目链接 -> Leetcode -974.和可被K整除的子数组 Leetcode -974.和可被K整除的子数组 题目:给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被...k 整除的(连续、非空) 子数组 的数目。...连续数组 题目链接 -> Leetcode -525.连续数组 Leetcode -525.连续数组 题目:给定一个二进制数组 nums, 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度

    13410
    领券