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

网站建设实训报告样板百度信息流账户搭建

网站建设实训报告样板,百度信息流账户搭建,湛江全套网站建设费用,wordpress分类目录顺序LeetCode-1590. 使数组和能被 P 整除【前缀和,哈希表】题目描述:解题思路一:前缀和,具体看注释。解题思路二:在遍历过程中计算前缀和解题思路三:0题目描述: 给你一个正整数数组 nums&#xff0…

LeetCode-1590. 使数组和能被 P 整除【前缀和,哈希表】

  • 题目描述:
  • 解题思路一:前缀和,具体看注释。
  • 解题思路二:在遍历过程中计算前缀和
  • 解题思路三:0

题目描述:

给你一个正整数数组 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 <= 10^5
1 <= nums[i] <= 10^9
1 <= p <= 10^9
https://leetcode.cn/problems/make-sum-divisible-by-p/description/

解题思路一:前缀和,具体看注释。

class Solution:def minSubarray(self, nums: List[int], p: int) -> int:s=list(accumulate(nums,initial=0)) #直接求前缀和x=s[-1]%p #数组所有元素的和对p取余if x==0: return 0 #直接返回ans=n=len(nums)last={}for i,v in enumerate(s):#当前前缀和是v,我们找(v-y)%p=x其中的前缀和为y的坐标#因为取余的性质,y%p=(v-x)%p。我们仅需找到满足其最大的地址即可last[v%p]=i #key是当前前缀和取余之后的数,value是地址j=last.get((v-x)%p,-n)#如果key不存在,-n可以保证i-j>=nans=min(ans,i-j)return ans if ans<n else -1

时间复杂度:O(n)
空间复杂度:O(n)//哈希表

解题思路二:在遍历过程中计算前缀和

last={s:-1}

是将key:value赋值给last字典

class Solution:def minSubarray(self, nums: List[int], p: int) -> int:x=sum(nums)%p #数组所有元素的和对p取余if x==0: return 0 #直接返回ans=n=len(nums)s=0last={s:-1}# 由于下面 i 是从 0 开始的,前缀和下标就要从 -1 开始了for i,v in enumerate(nums):#当前前缀和是v,我们找(v-y)%p=x其中的前缀和为y的坐标#因为取余的性质,y%p=(v-x)%p。我们仅需找到满足其最大的地址即可s+=vlast[s%p]=i #key是当前前缀和取余之后的数,value是地址j=last.get((s-x)%p,-n)#如果key不存在,-n可以保证i-j>=nans=min(ans,i-j)return ans if ans<n else -1

时间复杂度:O(n)
空间复杂度:O(n)//哈希表

解题思路三:0


http://www.dt0577.cn/news/31713.html

相关文章:

  • 南京市住房和城乡建设厅网站网络广告策划方案
  • 政务网站网上调查怎么做google框架一键安装
  • 给诈骗团伙做网站企业网站制作方案
  • 日照高端网站建设无锡百度推广开户
  • 网站 动画 怎么做的软文营销范文100字
  • 域名停靠已满十八阿亮seo技术
  • 大连金广建设集团网站chrome下载
  • 国企网站建设免费卖货平台
  • 微信制作网站公司简介免费建站工具
  • 上海网站建设竞价网络推广
  • 用js做网站宣传软文是什么
  • 福建住房与城乡建设部网站品牌网络营销推广方案策划
  • 洞口做网站多少钱百度网盘官网登录首页
  • 网站优化软件破解版平台运营推广
  • 在线制作wap网站游戏推广员是诈骗吗
  • 软件开发服务费税率网站seo排名公司
  • 网站301跳转怎么做电子商务网站建设的步骤
  • 优质的常州网站建设西安网站排名优化培训
  • 为什么做电子商务网站的原因网络推广seo怎么做
  • 怎么自己做视频网站怎么做一个网页
  • 辽宁住房建设厅网站营销策略的重要性
  • 网站关键词排名如何做seo点石论坛
  • 建筑工程网教育网seo专业优化公司
  • 网站开发查找漏洞的工具百度直播间
  • php网站开发视频教程下载google推广 的效果
  • 网站建设部门百度收录查询api
  • 网站备案是每年一次吗软文发布公司
  • 50万做网站苏州排名搜索优化
  • 网站建设 空间选择网站策划方案案例
  • 德山经济开发区建设局网站开发一个网站需要多少钱