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

怎么样模仿网站企业管理培训视频免费

怎么样模仿网站,企业管理培训视频免费,绍兴高端网站开发,自己做的网站怎么放上网题目 链接: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.hrbkazy.com/news/17286.html

相关文章:

  • 设计类的网站百度网盘网页
  • 哪些是个人网站百度推广销售员好做吗
  • 西安建设局网站首页东莞seo公司
  • 个人网站备案条件域名网站查询
  • 精美网页北京seo优化公司
  • 网络公司网站设计多少钱91永久免费海外地域网名
  • 网站建设阿里云搭建个人网站网站技术制作
  • 成都微信小程序制作搜索引擎的优化方法
  • 新农村建设管理网站企业整站推广
  • 北京做兼职哪个网站泰州seo外包公司
  • 淘宝联盟链接的网站怎么做怎么做好网站搜索引擎优化
  • 餐饮酒店网站建设长沙市云网站建设
  • 手机版网站如何制作百度的推广方式有哪些
  • asp.net做动态网站的技巧论文收录网站
  • 网站建设维护升级html网页制作app
  • 有哪些做h5的网站网站页面优化包括
  • 公司做两个网站有影响吗百度推广获客方法
  • 哪里有网站推广公司百度推广管理
  • 做零食网站的首页模板培训机构退费法律规定
  • 精品网站模板电商营销策划方案范文
  • 返利网站方案百度百度一下
  • 什么网站可以做投资app联盟推广平台
  • 数据网站怎么做的长春网站seo公司
  • 大型门户网站建设价格首码项目推广平台
  • 如何优化公司的网站郑州seo优化服务
  • wordpress内存使用搜索引擎优化seo优惠
  • php网站整合discuz如何在百度上添加店铺的位置
  • jsp做网站步骤东莞网络优化哪家公司好
  • 手机怎么建立自己的网站营销策划推广
  • 免费的企业网站源码自媒体视频发布平台