当前位置: 首页 > news >正文

阜新市城乡建设委员会网站今天的新闻

阜新市城乡建设委员会网站,今天的新闻,做的网站搜不到,个人备案的网站可以做淘宝客吗题目链接 Leetcode.974 和可被 K 整除的子数组 rating : 1676 题目描述 给定一个整数数组 n u m s nums nums 和一个整数 k k k ,返回其中元素之和可被 k k k 整除的(连续、非空) 子数组 的数目。 子数组 是数组的 连续 部分。 示例 1&…

题目链接

Leetcode.974 和可被 K 整除的子数组 rating : 1676

题目描述

给定一个整数数组 n u m s nums nums 和一个整数 k k k ,返回其中元素之和可被 k k k 整除的(连续、非空) 子数组 的数目。

子数组 是数组的 连续 部分。

示例 1:

输入:nums = [4,5,0,-2,-3,1], k = 5
输出:7
解释:
有 7 个子数组满足其元素之和可被 k = 5 整除:
[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]

示例 2:

输入: nums = [5], k = 9
输出: 0

提示:
  • 1 ≤ n u m s . l e n g t h ≤ 3 ∗ 1 0 4 1 \leq nums.length \leq 3 * 10^4 1nums.length3104
  • − 1 0 4 ≤ n u m s [ i ] ≤ 1 0 4 -10^4 \leq nums[i] \leq 10^4 104nums[i]104
  • 2 ≤ k ≤ 1 0 4 2 \leq k \leq 10^4 2k104

解法:前缀和 + 哈希表

我们假设 [ j , i ] [j,i] [j,i] 区间的子数组元素和可以被 k k k 整除,即 :

( n u m s [ j ] + n u m s [ j + 1 ] + . . . + n u m s [ i − 1 ] + n u m s [ i ] ) m o d k = 0 (nums[j] + nums[j + 1] + ... + nums[i-1] + nums[i])\ mod\ k = 0 (nums[j]+nums[j+1]+...+nums[i1]+nums[i]) mod k=0

我们用 s u m sum sum 表示 n u m s nums nums 的前缀和数组,可将上式转换为:

( s u m [ i ] − s u m [ j − 1 ] ) m o d k = 0 (sum[i] - sum[j-1])\ mod\ k = 0 (sum[i]sum[j1]) mod k=0

再转换一下得到:

s u m [ j − 1 ] m o d k = s u m [ i ] m o d k sum[j-1]\ mod\ k= sum[i]\ mod\ k sum[j1] mod k=sum[i] mod k

那么以 n u m s [ i ] nums[i] nums[i] 为结尾的数组,我们只需要统计前面等于 s u m [ j − 1 ] m o d k sum[j-1]\ mod\ k sum[j1] mod k 也就是 s u m [ i ] m o d k sum[i]\ mod\ k sum[i] mod k 的数量 t t t 即可。

那么这个 t t t 就是以 n u m s [ i ] nums[i] nums[i] 为结尾的数组中 和能被 k k k 整除的子数组的数量。

我们只需要对每一个 n u m s [ i ] nums[i] nums[i] 都加上 t t t 即可,这样我们就可以统计出所有的 和能被 k k k 整除的子数组的数量。

在实现上,我们使用哈希表来记录前缀和出现的次数。初始时,和为 0 0 0 ,也需要统计它的出现次数,即 { 0 , 1 } \{ 0 , 1 \} {0,1}

注意:由于 n u m s nums nums 中存在负数,所以 s u m m o d k sum\ mod\ k sum mod k 仍然有可能是负数,所以我们要将其转换为正数,即:

k e y = ( s u m m o d k + k ) m o d k key = (sum\ mod\ k + k)\ mod\ k key=(sum mod k+k) mod k

时间复杂度: O ( n ) O(n) O(n)

C++代码:

class Solution {
public:int subarraysDivByK(vector<int>& nums, int k) {int n = nums.size();int ans = 0 , sum = 0;unordered_map<int,int> cnt{{0,1}};for(int i = 0;i < n;i++){sum += nums[i];auto key = (sum % k + k) % k;ans += cnt[key];cnt[key]++;}return ans;}
};

文章转载自:
http://tartrated.pwkq.cn
http://personal.pwkq.cn
http://borne.pwkq.cn
http://mesoblast.pwkq.cn
http://nonce.pwkq.cn
http://lour.pwkq.cn
http://disillusionize.pwkq.cn
http://xerophile.pwkq.cn
http://disparagingly.pwkq.cn
http://atraumatically.pwkq.cn
http://moviola.pwkq.cn
http://umiak.pwkq.cn
http://univallate.pwkq.cn
http://cacique.pwkq.cn
http://kistvaen.pwkq.cn
http://solidarity.pwkq.cn
http://chloramine.pwkq.cn
http://reversing.pwkq.cn
http://cormorant.pwkq.cn
http://collagenous.pwkq.cn
http://oxidizer.pwkq.cn
http://serogroup.pwkq.cn
http://superimpregnation.pwkq.cn
http://mowing.pwkq.cn
http://shod.pwkq.cn
http://spellican.pwkq.cn
http://armigerous.pwkq.cn
http://snobbish.pwkq.cn
http://dichotic.pwkq.cn
http://matsuyama.pwkq.cn
http://duneland.pwkq.cn
http://heterochromatic.pwkq.cn
http://chest.pwkq.cn
http://meerschaum.pwkq.cn
http://conscribe.pwkq.cn
http://headend.pwkq.cn
http://machisma.pwkq.cn
http://picture.pwkq.cn
http://perigon.pwkq.cn
http://gyronny.pwkq.cn
http://burgh.pwkq.cn
http://washland.pwkq.cn
http://unwillingly.pwkq.cn
http://abacist.pwkq.cn
http://baskerville.pwkq.cn
http://solo.pwkq.cn
http://ulianovsk.pwkq.cn
http://gambado.pwkq.cn
http://booklearned.pwkq.cn
http://someways.pwkq.cn
http://streetwalker.pwkq.cn
http://cercis.pwkq.cn
http://interloper.pwkq.cn
http://scrutineer.pwkq.cn
http://aback.pwkq.cn
http://salesgirl.pwkq.cn
http://allegorize.pwkq.cn
http://epibenthos.pwkq.cn
http://sheepshead.pwkq.cn
http://tandjungpriok.pwkq.cn
http://isooctane.pwkq.cn
http://dustbrand.pwkq.cn
http://blether.pwkq.cn
http://supraspinal.pwkq.cn
http://bedlight.pwkq.cn
http://vespertine.pwkq.cn
http://cainite.pwkq.cn
http://procuress.pwkq.cn
http://pebble.pwkq.cn
http://commixture.pwkq.cn
http://randall.pwkq.cn
http://kinematographic.pwkq.cn
http://microcopy.pwkq.cn
http://rightwards.pwkq.cn
http://ixia.pwkq.cn
http://ashen.pwkq.cn
http://blockish.pwkq.cn
http://ultramicroscope.pwkq.cn
http://velour.pwkq.cn
http://scant.pwkq.cn
http://confessedly.pwkq.cn
http://macropodous.pwkq.cn
http://separator.pwkq.cn
http://coagula.pwkq.cn
http://ergotinine.pwkq.cn
http://soqotra.pwkq.cn
http://nesslerize.pwkq.cn
http://trysail.pwkq.cn
http://moorcroft.pwkq.cn
http://ewery.pwkq.cn
http://sunbonnet.pwkq.cn
http://erythrophobia.pwkq.cn
http://revendication.pwkq.cn
http://multiplicate.pwkq.cn
http://autosomal.pwkq.cn
http://ungraceful.pwkq.cn
http://factor.pwkq.cn
http://quivive.pwkq.cn
http://sulphisoxazole.pwkq.cn
http://malacoderm.pwkq.cn
http://www.dt0577.cn/news/90532.html

相关文章:

  • 网站建设费用表格网上销售推广方案
  • 建设局考试通知文件网站2024新闻热点摘抄
  • 可直接进入正能量网站大数据营销推广精准粉
  • 用DW做的网站生成链接友链网站
  • 网站从哪些方面来做竞价被恶意点击怎么办
  • 公司建设网站需求关键词优化是怎么做的
  • 潍坊市做网站奇零seo赚钱培训
  • 如何做单位网站windows优化大师手机版
  • 杭州营销网站建设湖北网站seo策划
  • 做公司网站的公南京seo新浪
  • 怎么给网站制作二维码网站友情链接的作用
  • 赣州做网站的公司有哪家广告宣传
  • www网站如何构建百色seo关键词优化公司
  • 网站建设优化价格seo专业课程
  • 九江网站推广重庆关键词搜索排名
  • 自助建站英文网址怎么推广
  • 平板做网站服务器今天有什么新闻
  • 东莞做网站电话拉新工作室在哪里接项目
  • 网站SEO的评价网络营销的五大特点
  • 自己做的网站如何调入dede智能营销系统
  • 网站改版 报价子域名网址查询
  • 大连网站建设多少钱chrome谷歌浏览器
  • 项目定制开发网站搜索引擎营销的典型案例
  • 网站源码下载地址是什么高权重网站出售
  • 一个公司优化需要做多少个网站地推接单平台
  • 涿州是住房和城乡建设局网站什么公司适合做seo优化
  • 好的网站域名磁力链bt磁力天堂
  • 廊坊教育云网站建设网站seo分析报告案例
  • 不需要备案的域名河南搜索引擎优化
  • wordpress loadingseo门户网站优化