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

谷歌英文网站推广百度seo网站

谷歌英文网站推广,百度seo网站,网站建设公司及网络安全法,珠海网站建设杰作题目 链接:leetcode链接 思路分析(前缀和 同余定理) 首先,我们要了解一下什么是同余定理 同余定理: 如果(a - b)/ p k …… 0 则 a % p b % p 证明我写在草稿纸上,如下图: 初…

题目

链接:leetcode链接

在这里插入图片描述

思路分析(前缀和 + 同余定理)

首先,我们要了解一下什么是同余定理

同余定理:
如果(a - b)/ p = k …… 0
则 a % p == b % p

证明我写在草稿纸上,如下图:
在这里插入图片描述

初此之外,我们还需要理解一个问题
在C++/java中负数取模会怎么样呢?
比如 - 2 % 5等于多少呢?
按道理来说应该是3,但是C++/java里的答案是-2
这明显是需要进行修正的

如何进行修正呢?
我们只需要( a % p + p)% p
这样,无论是正数取模还是负数取模都不会出现问题。

OK,到这里前置知识讲完了,我们就正式开始讲思路了。

需要找一个子数组的和是k的倍数
那么只需要找两个区间的前缀和对k取模的余数相同即可。

和这道题的思路非常相似
传送门:560.和为k的子数组

我们利用滚动数组去求前缀和,
记录sum % k的余数
然后在[0,i-1]区间内去hash表中寻找一个区间的前缀和对k取模的结果与sum对k取模结果相同即可
将sum% k的余数放到hash表中(一定要是先查找在插入)

细节:
(1)什么时候插入hash表
一定要是先查找,在插入
(2)对于[0 , i]区间的和正好是K的倍数的情况如何处理
还是一样,我们先去把余数0提前先往hash表里插一个即可
具体原因可以查看和为k的子数组这篇文章

代码

//同余定理int subarraysDivByK(vector<int>& nums, int k) {int sum = 0,ret = 0;unordered_map<int,int> hash;//hash表里面放余数hash[0] = 1;//这个0依旧是存的余数for(auto& e:nums){sum += e;int check = (sum % k + k) % k; // 对余数进行修正很关键if(hash.count(check))  ret += hash[check]; hash[check]++;}return ret;}
http://www.mmbaike.com/news/85360.html

相关文章:

  • 贵阳做网站公司百度一下首页设为主页
  • 网站建设公司愿景seo的五个步骤
  • 免费企业网站建设要求代发广告平台
  • wordpress主题不显示网站页面关键词优化
  • 什么网站可以接模具做怎样打小广告最有效
  • 网站设计的字体搜索引擎优化的英文缩写是什么
  • 企业网站建设三个原则网络营销教程
  • 网站怎么搭建百度网盘登录入口
  • 公司简介模板300字哈尔滨seo关键字优化
  • 个人做外贸网站平台有哪些苏州百度推广
  • 哪一个平阳网站建设磁力下载
  • 做食物外网视频网站淘宝关键词排名查询工具
  • 深圳广告设计公司网站搜索热词排名
  • 怎么做赌博网站的代理成人再就业技能培训班
  • 精品资源共享课程网站建设论文百度seo收费
  • 做网站要找什么公司杭州百度seo优化
  • 从化区城郊街道网站麻二村生态建设seo关键词推广怎么做
  • 建设网站实训珠海做网站的公司
  • 网站生成小程序营销咨询师
  • 茂名仿站定制模板建站专业培训
  • 手机wap网站特效sem推广软件选哪家
  • 学校网站建设意义有哪些方面代写1000字多少钱
  • 济宁城乡建设管理局网站杭州关键词优化外包
  • 大型做网站的公司有哪些嘉兴seo外包公司
  • 长沙公司制作网站费用多少谷歌关键词热度查询
  • 企业为什么要做网站建设新闻热点最新事件
  • 数据百度做网站好用吗昆明抖音推广
  • 网站次页电商入门基础知识
  • 做网站建免费的网站
  • 怎么做像天猫类似的网站企业查询系统官网