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

住房和城乡建设部网站加装电梯泰安的网站建设公司

住房和城乡建设部网站加装电梯,泰安的网站建设公司,南宁网站搜索引擎优,主播培训本文涉及的基础知识点 C算法#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 质数、最大公约数、菲蜀定理 LeetCode 1590. 使数组和能被 P 整除 给你一个正整数数组 nums#xff0c;请你移除 最短 子数组#xff08;可以为 空#xff09;算法前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 质数、最大公约数、菲蜀定理 LeetCode 1590. 使数组和能被 P 整除 给你一个正整数数组 nums请你移除 最短 子数组可以为 空使得剩余元素的 和 能被 p 整除。 不允许 将整个数组都移除。 请你返回你需要移除的最短子数组的长度如果无法满足题目要求返回 -1 。 子数组 定义为原数组中连续的一组元素。 示例 1 输入nums [3,1,4,2], p 6 输出1 解释nums 中元素和为 10不能被 p 整除。我们可以移除子数组 [4] 剩余元素的和为 6 。 示例 2 输入nums [6,3,5,2], p 9 输出2 解释我们无法移除任何一个元素使得和被 9 整除最优方案是移除子数组 [5,2] 剩余元素为 [6,3]和为 9 。 示例 3 输入nums [1,2,3], p 3 输出0 解释和恰好为 6 已经能被 3 整除了。所以我们不需要移除任何元素。 示例 4 输入nums [1,2,3], p 7 输出-1 解释没有任何方案使得移除子数组后剩余元素的和被 7 整除。 示例 5 输入nums [1000000000,1000000000,1000000000], p 3 输出0 提示 1 nums.length 105 1 nums[i] 109 1 p 109 前缀和 N nums.size() 由于是对p求余所以求前缀和的时候直接对p求余。 如果nums的和能被p整除则返回0。否则令p1 sum(num)%p ; 假定nums[i…j]被删除枚举j。令preSum[j1]为p2。则在preSum[0…j]中求值为 (p1-p2p)%p 的下标i如果有多个符合的下标取最大下标。ret j-i1的最小值如果ret n返回-1否则返回ret。 mValueIndex 的key:preSum[i]的值value:i。 代码 前缀和 class Solution {public:int minSubarray(vectorint nums, int p) {const int N nums.size();vectorint preSum(1);for (const auto n : nums) {preSum.emplace_back((n preSum.back()) % p);}const int p1 preSum.back() % p;if (0 p1) { return 0; }unordered_mapint, int mValueIndex;int ret N;for (int j 0; j N; j) {mValueIndex[preSum[j]] j;const int p3 (preSum[j 1] - p1 p) % p;if (mValueIndex.count(p3)) {ret min(ret, j 1 - mValueIndex[p3]);}}return (N ret) ? -1 : ret;}};单元测试 vectorint nums;int p;TEST_METHOD(TestMethod11){nums { 3, 1, 4, 2 }, p 6;auto res Solution().minSubarray(nums, p);AssertEx(1, res);}TEST_METHOD(TestMethod12){nums { 6,3,5,2 }, p 9;auto res Solution().minSubarray(nums, p);AssertEx(2, res);}TEST_METHOD(TestMethod13){nums { 1,2,3 }, p 3;auto res Solution().minSubarray(nums, p);AssertEx(0, res);}TEST_METHOD(TestMethod14){nums { 1,2,3 }, p 7;auto res Solution().minSubarray(nums, p);AssertEx(-1, res);}TEST_METHOD(TestMethod15){nums { 1000000000,1000000000,1000000000 }, p 3;auto res Solution().minSubarray(nums, p);AssertEx(0, res);}扩展阅读 我想对大家说的话工作中遇到的问题可以按类别查阅鄙人的算法文章请点击《算法与数据汇总》。学习算法按章节学习《喜缺全书算法册》大量的题目和测试用例打包下载。重视操作有效学习明确的目标 及时的反馈 拉伸区难度合适 专注闻缺陷则喜(喜缺)是一个美好的愿望早发现问题早修改问题给老板节约钱。子墨子言之事无终始无务多业。也就是我们常说的专业的人做专业的事。如果程序是一条龙那算法就是他的是睛失败反思成功 成功反思成功 视频课程 先学简单的课程请移步CSDN学院听白银讲师也就是鄙人的讲解。 https://edu.csdn.net/course/detail/38771 如何你想快速形成战斗了为老板分忧请学习C#入职培训、C入职培训等课程 https://edu.csdn.net/lecturer/6176 测试环境 操作系统win7 开发环境 VS2019 C17 或者 操作系统win10 开发环境 VS2022 C17 如无特殊说明本算法用**C**实现。
http://www.tj-hxxt.cn/news/226241.html

相关文章:

  • 模板网站区别wordpress文章编辑器可视化
  • 公司自己做网站多少费用阿里云域名注册备案
  • 系统官网网站模板下载安装wordpress点击量设置
  • 网站开发工具及框架介绍手机版免费个人简历
  • 做网站公司合同旅游区网站开发
  • 可以做夫妻的游戏视频网站wordpress主题怎么制作
  • 企业网站后台模板需求不明确的软件开发模型
  • 衡水网站优化平台网站建设多少钱
  • 建网站一般多少钱幸福里百度网盘官方网站
  • 网站建设响应式网页图片转换成pdf文件
  • html简单网站建设代码网站上加一个浮动小框怎么做
  • 制定网站分工任务网站的建设规划微信学校网站模板
  • 北京企业建网站网站开发二维码生成
  • 重庆免费网站建站模板主题页面设计
  • 校园网站的建设与管理wordpress 数据读取
  • 深圳做网站公e福州官方网站
  • 高性能网站建设 下载吕梁网站建设公司
  • 哈尔滨自助建站系统中国建筑网官网查询施工员证
  • 网站建设及网络维护合同精准客源推广引流
  • 免费网站域名申请茶叶网站建设方案
  • c 企业网站开发aso榜单优化
  • 深圳哪些公司做网站python做网站需要什么
  • 简单的个人网站html网站开发需要什么费用
  • 保定免费建站seo关键词排名优化如何
  • 哪里可以接一些网站项目做邢台短视频推广
  • 电商网站建设与开发期末考试公司部门职责与岗位职责大全范本
  • 飞创网站建设建设网站dns如何设置
  • 网站建设丨选择金手指排名15简述seo的优化流程
  • 网站标题flash网站关键词检测
  • 网站维护需要哪些知识vs做asp网站