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

东莞模板建站平台建站优化推广

东莞模板建站平台,建站优化推广,制定网站建设方案,电商网站设计实例文章目录 930.和相同的二元子数组523.连续的子数组和 求解连续子数组的和的问题,常常会使用到这个前缀和的思路,当然当数组存在单调性的时候,可以考虑使用不定长滑动窗口,在这里解释一下,何为数组的和存在这个单调性&a…

文章目录

  • 930.和相同的二元子数组
  • 523.连续的子数组和

  • 求解连续子数组的和的问题,常常会使用到这个前缀和的思路,当然当数组存在单调性的时候,可以考虑使用不定长滑动窗口,在这里解释一下,何为数组的和存在这个单调性?就是nums[i]>=0或者nums[i]<=0,就是最终这个窗口的和值是随着窗口的大小变大而窗口的和值是随着变大或者变小的
  • 当然,前缀和更能处理这种非单调性的问题,当出现子数组的和的某种性质的统计或者判断的时候,我们常常会使用到哈希表进行对应的存储

930.和相同的二元子数组

930.和相同的二元子数组

在这里插入图片描述

  • 这个题目有多种解法,由于存在这个nums[i]>=0,所以是存在这个单调性的问题,所以考虑使用滑动窗口,当然,由于这个是恰好型的问题,所以考虑使用两个至少型的计算进行转化
class Solution:# 定义嵌套方法,并不使用 self参数def numSub(self,nums:List[int],goal:int ) ->int :left = count = ans = 0for right,i in enumerate(nums):count+=iwhile count >= goal and left <= right:count-=nums[left]left+=1ans += leftreturn ansdef numSubarraysWithSum(self, nums: List[int], goal: int) -> int:# 打算使用越长越好的方法,求解出和 >= goal 和 >= goal+1的情况return self.numSub(nums,goal) - self.numSub(nums,goal+1)
  • 更加通用的方法是,使用这个前缀和+哈希表,对于子数组的和为goal,我们只需使用哈希表存储对应的前缀和的次数,对于子数组的和为goal,只需查询当前的cusum-goal是否存在哈希表中,如果存在,则加上对应的次数,最后再更新这个前缀出现的次数即可
from collections import defaultdict
class Solution:def numSubarraysWithSum(self, nums: List[int], goal: int) -> int:n = len(nums)# 子数组要求是和为goal的子数组的数目,我们只需不断累加,记录对应的累加和的出现次数cursum = 0store = defaultdict(int)store[0] += 1ans = 0for i,c in enumerate(nums):cursum += c if cursum - goal in store:ans += store[cursum-goal]store[cursum]+=1return ans

523.连续的子数组和

523.连续的子数组和

在这里插入图片描述

  • 倍数的问题,就不是单纯存储这个前缀和的出现的次数了,仔细想想,得存储这个%k的余数的情况,因为两个同余数的前缀和作差,那么该子数组的和肯定是k的倍数,由于考虑的是长度问题,所以哈希表记录的是余数出现的位置的下标
class Solution:def checkSubarraySum(self, nums: List[int], k: int) -> bool:# 字典用于存储余数及其对应的索引,初始化为 {0: -1} 以处理从索引0开始的子数组remainder_dict = {0: -1}cumulative_sum = 0  # 累加和# 遍历数组中的每个元素for i, num in enumerate(nums):cumulative_sum += num  # 更新累加和rem = cumulative_sum % k  # 计算当前累加和对k的余数# 如果余数已经存在于字典中if rem in remainder_dict:# 检查当前子数组的长度是否至少为2if i - remainder_dict[rem] >= 2:return Trueelse:# 如果余数不存在,则记录当前余数对应的索引remainder_dict[rem] = i# 如果没有找到符合条件的子数组,返回Falsereturn False
http://www.dtcms.com/wzjs/425243.html

相关文章:

  • 网站后台上传新闻百度竞价排名是哪种方式
  • 武汉洪山区做网站的公司怎么做
  • 三网合一建站价格百度的特点和优势
  • 安徽网站开发seo一键优化
  • wordpress更换cssseo知识是什么意思
  • 淄博哪有培训做网站的seo优化方案项目策划书
  • 织梦修改网站标题seo站内优化站外优化
  • 网站开发流程说明软文广告
  • 美团先做网站还是app广东疫情动态人民日报
  • 后台java语言做网站什么是百度权重
  • php mysql 网站模板青岛新闻最新今日头条
  • 做批发行业哪个网站比较好常见的微信营销方式有哪些
  • 网站搭建平台安徽seo顾问服务
  • 招聘美容师在哪个网站做招聘最有效新媒体营销案例分析
  • 福田服务商app软件安装seo百度快照优化公司
  • 昆明猫咪科技网站建设百度认证怎么认证
  • 长沙互联网大厂名词解释seo
  • 信誉好的高密网站建设电子商务网站建设与维护
  • 西安做网站哪里便宜小说网站排名免费
  • 苏州老字号企业官方的网站策划书西安百度关键词排名服务
  • 公司网站建设价格多少外贸网站免费建站
  • 广告资源发布平台整站优化案例
  • 做网站答辩站长工具seo综合查询工具
  • 沧州网站建设定制价格做谷歌推广比较好的公司
  • 花都营销型网站建设如何免费做网站推广的
  • 网站建设就选谷歌seo和百度seo
  • 网站名称注册广州网站优化服务商
  • 网站开发技术入股协议上海高端网站定制
  • 网站做的文字乱码网络优化公司有哪些
  • 可以做本地生活服务的有哪些网站灰色广告投放平台