前缀和算法 算法4

算法题中帮助复习的知识

vector<int > dp( n ,k); n为数组大小 ,k为初始化

哈希表unordered_map<int ,int > hash;

hash.find(k)返回值是迭代器 ,找到k返回其迭代器 没找到返回hash.end()

hash.count(k)返回值是数字 ,找到k返回1 ,没找到返回0.

C++和java中

负数%正数 = 负数

处理手段

(a%k+k)%k 能使不管正负数%正数都为正数

前缀和算法是一种常用的预处理技术,用于高效地计算数组或序列中某个区间的和。

通过预先计算并存储前缀和,可以在常数时间内查询任意区间的和,从而显著提高查询效率

注意:

不一定使用数组存储

hash(unordered_map)可以迅速找到一个数的次数 ,用hash.find()! =hash.end()

或者hash.count != 0
不一定存储的是前缀和 ,也可能是前缀和的余数974. 和可被 K 整除的子数组 - 力扣(LeetCode)

这里要灵活变通.

相关推荐
Nil2081 分钟前
leetcode 322零钱兑换
算法·leetcode·职场和发展
海绵宝宝转agent5 分钟前
2026-10-9 leetcode100刷题+面经整理
笔记·算法·面试
yi01116 分钟前
DAY24: LeetCode 167:两数之和 II|从暴力枚举到左右双指针
笔记·python·算法·leetcode·二分查找·双指针
木井巳17 分钟前
【BFS 解决拓扑排序】课程表
java·算法·leetcode·广度优先·宽度优先·推荐算法·图搜索算法
扶风ff37 分钟前
练题簿在线免费刷题:会员线下组卷、Word 试卷与成绩导入,课堂检测更方便
java·开发语言·算法·小程序·word
yi01144 分钟前
LeetCode 15:三数之和|排序 + 双指针,如何避免重复答案?
笔记·python·算法·leetcode·双指针
-dzk-1 小时前
【多维动态规划】LC 1143.最长公共子序列
算法·动态规划
C++ 老炮儿的技术栈1 小时前
char (*csConnectName)[256]; 和 char csConnectName [256] 有什么区别
java·c语言·开发语言·c++·人工智能·算法·c
Omics Pro1 小时前
全新可重分析!代谢组质谱专用
数据库·人工智能·算法·机器学习·自然语言处理
Nebula_g1 小时前
JavaSE加强:线程Thread(线程安全重点)
java·开发语言·jvm·算法·javase·技术栈