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

网站服务器租用哪家好软件推广是什么工作

网站服务器租用哪家好,软件推广是什么工作,可以用来做视频网站的视频外链吗,officeplus本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode 2845. 统计趣味子数组的数目 难度分:2073 给你一个下标从 0 开始的整数数组 nums ,以及整数 modulo 和整数 k 。 请你找出并统计数组…

本文涉及的基础知识点

C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频

LeetCode 2845. 统计趣味子数组的数目

难度分:2073
给你一个下标从 0 开始的整数数组 nums ,以及整数 modulo 和整数 k 。
请你找出并统计数组中 趣味子数组 的数目。
如果 子数组 nums[l…r] 满足下述条件,则称其为 趣味子数组 :
在范围 [l, r] 内,设 cnt 为满足 nums[i] % modulo == k 的索引 i 的数量。并且 cnt % modulo == k 。
以整数形式表示并返回趣味子数组的数目。
注意:子数组是数组中的一个连续非空的元素序列。
示例 1:
输入:nums = [3,2,4], modulo = 2, k = 1
输出:3
解释:在这个示例中,趣味子数组分别是:
子数组 nums[0…0] ,也就是 [3] 。

  • 在范围 [0, 0] 内,只存在 1 个下标 i = 0 满足 nums[i] % modulo == k 。
  • 因此 cnt = 1 ,且 cnt % modulo == k 。
    子数组 nums[0…1] ,也就是 [3,2] 。
  • 在范围 [0, 1] 内,只存在 1 个下标 i = 0 满足 nums[i] % modulo == k 。
  • 因此 cnt = 1 ,且 cnt % modulo == k 。
    子数组 nums[0…2] ,也就是 [3,2,4] 。
  • 在范围 [0, 2] 内,只存在 1 个下标 i = 0 满足 nums[i] % modulo == k 。
  • 因此 cnt = 1 ,且 cnt % modulo == k 。
    可以证明不存在其他趣味子数组。因此,答案为 3 。
    示例 2:
    输入:nums = [3,1,9,6], modulo = 3, k = 0
    输出:2
    解释:在这个示例中,趣味子数组分别是:
    子数组 nums[0…3] ,也就是 [3,1,9,6] 。
  • 在范围 [0, 3] 内,只存在 3 个下标 i = 0, 2, 3 满足 nums[i] % modulo == k 。
  • 因此 cnt = 3 ,且 cnt % modulo == k 。
    子数组 nums[1…1] ,也就是 [1] 。
  • 在范围 [1, 1] 内,不存在下标满足 nums[i] % modulo == k 。
  • 因此 cnt = 0 ,且 cnt % modulo == k 。
    可以证明不存在其他趣味子数组,因此答案为 2 。
    提示:
    1 <= nums.length <= 105
    1 <= nums[i] <= 109
    1 <= modulo <= 109
    0 <= k < modulo

前缀和

前缀和preSum[i]记录 前i个元素 nums[i] % modulo == k 的下标数量。注意:preSum[i] %= modulo 。
通过nums[i…j]枚举非空子数组,i <= j。枚举j,计算符合i的数量。
mValueCnt 记录preSum[i]的数量,i<=j。
k1 = preSum[j+1] ,k2 = (k1+modulo- k)%modulo。
已nums[j]结尾的趣味子数组的数量为:mValueCnt[k2]

代码

核心代码

class Solution {public:long long countInterestingSubarrays(vector<int>& nums, int modulo, int k) {vector<int> preSum(1);for (const auto& n : nums) {const auto tmp = (k == n % modulo) + preSum.back();preSum.emplace_back(tmp% modulo);}unordered_map<int, int> mValueCount;long long ret = 0;for (int j = 0; j < nums.size(); j++) {mValueCount[preSum[j]]++;const int k2 = (preSum[j + 1] + modulo - k) % modulo;ret += mValueCount[k2];}return ret;}};

单元测试

	vector<int> nums;int modulo,  k;TEST_METHOD(TestMethod1){nums = { 4,5 }, modulo = 1, k = 0;auto res = Solution().countInterestingSubarrays(nums, modulo, k);AssertEx(3LL, res);}TEST_METHOD(TestMethod11){nums = { 3, 2, 4 }, modulo = 2, k = 1;auto res = Solution().countInterestingSubarrays(nums, modulo, k);AssertEx(3LL, res);}TEST_METHOD(TestMethod12){nums = { 3,1,9,6 }, modulo = 3, k = 0;auto res = Solution().countInterestingSubarrays(nums, modulo, k);AssertEx(2LL, res);}

扩展阅读

我想对大家说的话
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛
失败+反思=成功 成功+反思=成功

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。

http://www.ds6.com.cn/news/38056.html

相关文章:

  • 2023网页游戏排行榜关键词优化分析工具
  • 移动端网站日历怎么做深圳seo优化排名推广
  • 政府门户网站建设的意义是seo先上排名后收费
  • 做旅游网站课程设计报告站长工具平台
  • 网站怎么做百度百科公司培训
  • 网站开发有几种语言百度百度一下百度
  • 手机app制作网站模板站长工具
  • 深圳小程序开发公司排名网站优化入门
  • 重庆金融公司网站建设做一个公司网站要多少钱
  • 福州网站建设公司网站关键词排名外包
  • 有源代码怎么制作网站室内设计培训班学费一般多少
  • 专业做旅游网站seo的方式包括
  • 网站友情链接很重要吗网站推广和精准seo
  • 腾讯企业邮箱官网入口seo公司推广
  • 网站开发免责合同影响seo排名的因素有哪些
  • 卖服务器建网站宁波网站推广公司有哪些
  • 一个ip地址上可以做几个网站青岛seo服务公司
  • 宏大建设集团网站淘宝热搜关键词排行榜
  • 做外贸 用国内空间做网站北京seo全网营销
  • 网站关健词排名在百度上怎么注册网站
  • 南宁做网站哪家好营销课程培训视频
  • 山东网站搭建有限公司软文营销经典案例200字
  • 专门做网站的软件株洲企业seo优化
  • 手机建立网站电商网络销售是做什么
  • 什么是网站名称文件夹网站优化推广招聘
  • 广州网站排名优化公司抖音优化是什么意思
  • 备案个人网站名称大全无锡seo关键词排名
  • 360网站点评东莞疫情最新消息通知
  • WordPress商品相册幻灯片优化设计答案五年级下册
  • wordpress 主题 打包学好seo