前缀和
软件园里卖煎饼
以文载意,以理铸心
展开
-
第 67 场双周赛T2.5935. 适合打劫银行的日子
解题思路前缀和思想两次遍历 用pre记录第i天前非连续递增天数 after记录第i天后非连续递减的天数如果pre和after都大于time,那么说明第i天符合要求代码class Solution { public List<Integer> goodDaysToRobBank(int[] security, int time) { List<Integer> ans = new ArrayList<>(); //记录i天前原创 2021-12-12 14:23:57 · 177 阅读 · 0 评论 -
第269场周赛钛铂数据T2.半径为 k 的子数组平均值
解题思路利用前缀和,计算一个大小为k*2+1的窗口内的和代码class Solution { public int[] getAverages(int[] nums, int k) { int[] ans = new int[nums.length]; Arrays.fill(ans,-1); if (k > nums.length){ return ans; } int x = 2原创 2021-12-08 19:28:59 · 195 阅读 · 0 评论 -
每日一题.1480. 一维数组的动态和
解题思路利用前缀和的思想可以看看题解代码class Solution { public int[] runningSum(int[] nums) { int n = nums.length; int[] pre = new int[n]; pre[0]=nums[0]; for (int i=1;i<n;i++){ pre[i]=pre[i-1]+nums[i]; }原创 2021-09-03 23:58:21 · 65 阅读 · 0 评论 -
leetcode.238. 除自身以外数组的乘积
解题思路前缀和与后缀和一起使用一个数字前面的前缀和乘上后缀和,即为除去这个数字的乘积代码class Solution { public int[] productExceptSelf(int[] nums) { int n = nums.length; if(n==0){ return new int[0]; } int[] left = new int[n];//前缀和 int[] ri原创 2021-07-09 09:54:10 · 36 阅读 · 0 评论 -
每日一题:930. 和相同的二元子数组
解题思路利用前缀和的思路解决代码class Solution { public int numSubarraysWithSum(int[] nums, int goal) { HashMap<Integer,Integer> map = new HashMap<>();//用来记录 map.put(0,1); //presum-goal==0的情况 int reslut = 0,presum = 0; f原创 2021-07-08 13:58:48 · 43 阅读 · 0 评论 -
leetcode.560. 和为K的子数组
解题思路前缀和代码class Solution { public int subarraySum(int[] nums, int k) { HashMap<Integer,Integer> map = new HashMap<>(); map.put(0,1); int reslut = 0,presum = 0; for(int i=0;i<nums.length;i++){原创 2021-07-08 13:59:54 · 83 阅读 · 0 评论 -
leetcode.1248. 统计「优美子数组」
解题思路前缀和,记录下来的是当前的奇数个数代码class Solution { public int numberOfSubarrays(int[] nums, int k) { HashMap<Integer,Integer> map = new HashMap<>(); map.put(0,1); int reslut = 0,presum = 0; for(int i=0;i<nums.le原创 2021-07-08 14:04:06 · 44 阅读 · 0 评论 -
前缀和问题笔记
主要是使用HashMap结合使用以leetcode560为例原创 2021-07-08 14:15:08 · 55 阅读 · 0 评论