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

算法之 前缀和

文章目录

  • 前缀和基础
    • 3427.变长子数组求和
  • 前缀和与哈希表
    • 1524.和为奇数的子数组数目
  • 距离和

  • 前缀和,就是定义pre[i] 为nums的前i个元素的和值,一般pre数组长度会=n+1,这样在计算的nums数组中下标i到j的情况的时候,直接就可以使用pre[j+1]-pre[i],如果找的是第i个到第j个,那么就是pre[j]-pre[i-1]
  • 所以得根据题目求解的是下标还是第几个确定具体的计算公式
  • 前缀和与哈希表

前缀和基础

3427.变长子数组求和

3427.变长子数组求和

在这里插入图片描述

  • 求解的是下标问题,所以是pre[j+1] - pre[i]类型
class Solution:
    def subarraySum(self, nums: List[int]) -> int:
        # 前缀和的问题
        n = len(nums)
        pre = [0]*(n+1)
        for i in range(n):
            pre[i+1] = pre[i] + nums[i]
        ans = 0
        for i in range(n):
            start = max(0,i-nums[i])
            ans += pre[i+1] - pre[start] 
        return ans

前缀和与哈希表

1524.和为奇数的子数组数目

1524.和为奇数的子数组数目

在这里插入图片描述

  • 使用哈希表+前缀和,要注意这个前缀和的第一个也要加入哈希表
class Solution:
    def numOfSubarrays(self, arr: List[int]) -> int:
        # 直接用哈希表存储
        mod = 10**9 + 7
        store = [0,0]
        n = len(arr)
        # 使用前缀和
        pre = [0]*(n+1)
        for i in range(n):
            pre[i+1] = pre[i] + arr[i]
        ans = 0
        for i in range(n+1):
            if pre[i] % 2==0:
                ans = ans + store[1]
                store[0] = store[0] + 1
            else:
                ans = ans + store[0]
                store[1] = store[1] + 1
        return ans % mod

距离和

相关文章:

  • 力扣132. 分割回文串 II
  • 传统工厂转型实录:1套WMS系统如何砍掉40%仓储成本
  • 信奥赛CSP-J复赛集训(DP专题)(16):P1203 [USACO1.1] 坏掉的项链 Broken Necklace
  • 【Qt QML】Loader动态加载组件
  • 【SegRNN 源码理解】图示理解 forward的过程
  • Kanna 与 Swift:结合使用提升网络请求效率
  • vue3,Element Plus中隐藏树el-tree滚动条
  • AIP-160 过滤
  • 采用OllamaSharp实现.NET快速对接deepseek实现聊天、模型管理、流式响应等功能
  • 统计作业提交情况python脚本
  • css错峰布局/瀑布流样式(类似于快手样式)
  • JVM参数调整
  • SAP的错误:General error 339 invalid number
  • 文献学习——考虑混合储能系统选择的基于改进蜂群算法的热电联产微网多目标经济优化调度
  • 攻防世界WEB(新手模式)19-file_include
  • Hadoop、Hive、Spark的关系
  • 盛铂科技 SLMF315频率综合器200MHz至15GHz 国产频综模块
  • 2024华为OD机试真题-磁盘容量排序算法(C++)-E卷B卷-100分
  • linux 使用阿里云盘 阿里网盘
  • 我的两个医学数据分析技术思路
  • 建设银行的英语网站首页/最新发布的最新
  • 共青团网站建设相关意见/公司企业网站制作
  • 网站建设五年发展规划/郑州网站建设方案优化
  • 济南网站建设培训学校/百度网盘下载安装
  • 做宠物网站心得/国际国内新闻最新消息今天
  • 二维码活码生成器在线制作/华为seo诊断及优化分析