前缀和
djfkdjfodjfkd
这个作者很懒,什么都没留下…
展开
-
18908 字符串哈希
18908字符串哈希时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题语言: G++;GCCDescription(1)这一段是乱七八糟的教学模块,看不清楚就百度吧。字符串哈希可以用于快速比较两个字符串是否相等,或者快速找到子串t在主串s中的位置(模式匹配)。在完成预处理之后,比较任意两个字符串相等的复杂度O(1)。模式匹配的复杂度和kmp算法接近,为O(n+m)。那么如何为字符串设计哈希函数呢?最简单的方法:把字符串直接映射为整...原创 2022-05-07 20:42:14 · 272 阅读 · 0 评论 -
剑指 Offer II 010. 和为 k 的子数组
思路记录:求区间和为k的区间数量,如何判断区间[i,j]和是否为k,只需要计算前缀和prefix(i)-prefix(j-1)的差值是否为k即可,从数组第一个数量开始把每个元素的前缀和都记录到map中,如果已经出现过,那么就数量加一,没出现过就记录数量为一,如果map中存在前缀和为prefix(i)-k,那么这些区间就是和为k的区间,所有的数量相加即为answerimport java.util.HashMap;import java.util.Map;class Solution { ..原创 2022-05-01 15:16:30 · 166 阅读 · 0 评论 -
525. 连续数组
思路记录:前缀和加哈希,求1和0的数量相等的最大长度区间,首先:如何判断区间内1和0数量相等,比如说区间[i,j],如果i-1的前缀和等于j的前缀和那么,i,j即为符合条件的区间,因为是最大的区间长度,所以只需要记录第一次前缀和出现的位置即可,后面如果相等则做出判断import java.util.HashMap;class Solution { public int findMaxLength(int[] nums) { int[] prifix=new int[n...原创 2022-05-01 14:50:25 · 178 阅读 · 0 评论