码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Leetcode:前缀和系列


    前缀和的精华就是需要一个额外的字典的帮助,不同的题中字典的key以及key对应的value所有不同:

    • 情况1:key就是前缀和,value是前缀和出现的次数(最经常的情况,也就是中等题爱出的,往往题目中说求个数)
    • 情况2:key是前缀和,value是位置的indx(这种情况下,往往题目是求长度)
    • 情况3:key是跟前缀和有关的值

    关于字典dicts的初始化问题:

    • 如果求次数,那么dicts[0] = 1
    • 如果求长度,那么dicts[0] = -1

    尤其需要说明,前缀和一般适用于求和的情况,对于求乘积的情况要非常小心, 因为乘积的相乘后的符号会发生改变,例如:

    152. 乘积最大子数组(采用动态规划)

    713. 乘积小于 K 的子数组(采用双指针)

    我从简单到困难梳理一下

    类型1:一维数组情况下
    (1)最基本的题,适合前缀和的入门:

    • 560. 和为 K 的子数组(本题是求数组中和为 k 的连续子数组的个数,因此对应与前面所述的情况1)
    • 930. 和相同的二元子数组(本题基本与上面一样)
    • 525. 连续数组(本题是在930的基础上,变为求长度,对应于前面所述的情况2)

    (2)进阶版

    • 974. 和可被 K 整除的子数组(本题虽然是求除法,但是是求和能够被K整除的子数组的个数,因此是可以用前缀和的。本题是经典的情况3了,字典的key不再是前缀和,而是做了一个转换,储存余数)
    • 523. 连续的子数组和(本题要求:所求子数组大小至少为 2,并且按要求和是为 k 的倍数,问是否存在,返回True or False,可以看到与974基本上一样,属于经典的情况3了。但是与974不同的是,对子数组的长度做了限制,因此key对应的value就不是个数,而是index,用于求是否满足长度大于2)
    • 1248. 统计「优美子数组」

    类型2:二维矩阵
    1、304. 二维区域和检索 - 矩阵不可变
    2、1314. 矩阵区域和
    3、1074. 元素和为目标值的子矩阵数量
    4、面试题 17.24. 最大子矩阵
    5、363. 矩形区域不超过 K 的最大数值和

    类型3:二叉树系列

    437. 路径总和 III

  • 相关阅读:
    JPA框架
    Servlet系列:生命周期(init、 service、destroy)详解
    MySQL 高级语句 Part1(进阶查询语句+MySQL数据库函数+连接查询)
    HTML5:七天学会基础动画网页(end)
    Docker的交互式模式,你知道了吗?
    Stream流编程
    SpringCloud之Stream框架集成RocketMQ消息中间件
    商业保密协议
    Eigen库的配置方法
    c#中字段和属性的区别,委托和事件的区别
  • 原文地址:https://blog.csdn.net/Mr_health/article/details/126917950
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号