草庐IT

cumulative_sum

全部标签

leetcode 560. Subarray Sum Equals K 和为 K 的子数组(中等)

一、题目大意https://leetcode.cn/problems/subarray-sum-equals-k给你一个整数数组nums和一个整数k,请你统计并返回该数组中和为k的连续子数组的个数。示例1:输入:nums=[1,1,1],k=2输出:2示例2:输入:nums=[1,2,3],k=3输出:2提示:1-1000-107二、解题思路三个思路,第一个:三层遍历,遍历i从0到n,第二层遍历j从i到n,第三层遍历i-j,求和,这种方法会超时第二个:求累加和sum[i]=num[0]-num[i-1],这样二层遍历得到(i,j),检查sum[j]-sum[i]第三个:定义一个hash来保存s

leetcode 15. 3Sum 三数之和(中等)

一、题目大意给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]解释:nums[0]+nums[1]+nums[2]=(-1)+0+1=0。nums[1]+nums[2]+nums[4]=0+1+(-1)=0。nums[0]+nums[3]+nums[4]=(-1)+2+(-1)=0。

leetcode 303. Range Sum Query - Immutable 区域和检索 - 数组不可变(简单)

一、题目大意https://leetcode.cn/problems/range-sum-query-immutable给定一个整数数组 nums,处理以下类型的多个查询:计算索引 left 和 right (包含left和right)之间的nums元素的和,其中 left实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums 中索引 left 和 right 之间的元素的总和,包含 left 和 right 两点(也就是 nums[left]+nums[left+1]+...+nums[right]

leetcode 15. 3Sum 三数之和(中等)

一、题目大意给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]解释:nums[0]+nums[1]+nums[2]=(-1)+0+1=0。nums[1]+nums[2]+nums[4]=0+1+(-1)=0。nums[0]+nums[3]+nums[4]=(-1)+2+(-1)=0。

leetcode 303. Range Sum Query - Immutable 区域和检索 - 数组不可变(简单)

一、题目大意https://leetcode.cn/problems/range-sum-query-immutable给定一个整数数组 nums,处理以下类型的多个查询:计算索引 left 和 right (包含left和right)之间的nums元素的和,其中 left实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums 中索引 left 和 right 之间的元素的总和,包含 left 和 right 两点(也就是 nums[left]+nums[left+1]+...+nums[right]

leetcode 304. Range Sum Query 2D - Immutable 二维区域和检索 - 矩阵不可变(中等)

一、题目大意https://leetcode.cn/problems/range-sum-query-2d-immutable给定一个二维矩阵matrix,以下类型的多个请求:计算其子矩形范围内元素的总和,该子矩阵的左上角为(row1,col1),右下角为(row2,col2)。实现NumMatrix类:NumMatrix(int[][]matrix)给定整数矩阵matrix进行初始化intsumRegion(introw1,intcol1,introw2,intcol2)返回左上角(row1,col1)、右下角(row2,col2)所描述的子矩阵的元素总和。示例1:![img](images

leetcode 304. Range Sum Query 2D - Immutable 二维区域和检索 - 矩阵不可变(中等)

一、题目大意https://leetcode.cn/problems/range-sum-query-2d-immutable给定一个二维矩阵matrix,以下类型的多个请求:计算其子矩形范围内元素的总和,该子矩阵的左上角为(row1,col1),右下角为(row2,col2)。实现NumMatrix类:NumMatrix(int[][]matrix)给定整数矩阵matrix进行初始化intsumRegion(introw1,intcol1,introw2,intcol2)返回左上角(row1,col1)、右下角(row2,col2)所描述的子矩阵的元素总和。示例1:![img](images

前缀和与差分prefix_sum and difference

前缀和与差分笔记&模板前缀和与差分prefix_sumanddifference-唔知叫咩emm-博客园(cnblogs.com)不适合做代码笔记,复习主要是复习思路,要看就看模板题常用代码模板1——基础算法-AcWing注意:左留一个0,避免分类讨论注意:初始化数组大小,记得+1简介前缀和是一种重要的预处理,能大大降低查询的时间复杂度前缀和数列的前n项的和差分差分是一种和前缀和相对的策略,可以当做是求和的逆运算。差分数组的前缀和数组是原数组应用场景,关键词区间信息维护与查询视频教程STUACM-算法入门-前缀和与差分(含二维)_哔哩哔哩_bilibili有点长,不太推荐,找个模板题看看题解就

前缀和与差分prefix_sum and difference

前缀和与差分笔记&模板前缀和与差分prefix_sumanddifference-唔知叫咩emm-博客园(cnblogs.com)不适合做代码笔记,复习主要是复习思路,要看就看模板题常用代码模板1——基础算法-AcWing注意:左留一个0,避免分类讨论注意:初始化数组大小,记得+1简介前缀和是一种重要的预处理,能大大降低查询的时间复杂度前缀和数列的前n项的和差分差分是一种和前缀和相对的策略,可以当做是求和的逆运算。差分数组的前缀和数组是原数组应用场景,关键词区间信息维护与查询视频教程STUACM-算法入门-前缀和与差分(含二维)_哔哩哔哩_bilibili有点长,不太推荐,找个模板题看看题解就

leetcode 416. Partition Equal Subset Sum 分割等和子集(中等)

一、题目大意标签:动态规划https://leetcode.cn/problems/partition-equal-subset-sum给你一个只包含正整数的非空数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。示例1:输入:nums=[1,5,11,5]输出:true解释:数组可以分割成[1,5,5]和[11]。示例2:输入:nums=[1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。提示:11二、解题思路设所有数字和为sum,我们的目标是选取一个子数组,使它的总和为sum/2,定义二维boolean数组dp[i][j],其意义是使