力扣 前缀和

server/2024/10/15 17:37:09/

找子数组的个数了解前缀和的基础。

前缀和大致理解为到达某个位置,前面几个数的总和,即s[i+1]=s[i]+a[i+1],可以通过一次循环获得。然后几个前缀和作差,即可得到某个位置到某个位置的和,根据map的键值对进行更新次数。

题目 

java">class Solution {public static int subarraySum(int[] nums, int k) {int count = 0;int sum = 0;Map<Integer, Integer> map = new HashMap<>();map.put(0, 1); // 初始化前缀和为0的次数为1for (int i = 0; i < nums.length; i++) {sum += nums[i];//计算前缀和//sum-k满足条件从某个位置到当前位置的连续子数组的和为k//sum[j]-sum[i]=k,k即i+1到j的元素之和if (map.containsKey(sum - k)) {//对应的次数累加count += map.get(sum - k);}//更新sum在map出现的次数,出现过就在原来的次数递增,没出现过初始化为1map.put(sum, map.getOrDefault(sum, 0) + 1);}return count;}
}
java">class Solution {public int subarraySum(int[] nums, int k) {int count = 0;//双指针for (int i = 0; i < nums.length; i++) {int sum = 0;//每到一个数就重置sumfor (int j = i; j >= 0; j--) {sum += nums[j];//从当前的数开始往回进行累加,找组合数的和if (sum == k) {count++;}}}return count;}
}

 


http://www.ppmy.cn/server/132287.html

相关文章

什么是智能合约?

什么是智能合约&#xff1f; 智能合约&#xff0c;就是一段写在区块链上的代码&#xff0c;一旦某个事件触发合约中的条款&#xff0c;代码即自动执行。也就是说&#xff0c;满足条件就执行&#xff0c;不需要人为操控、不需要第三方信任。区块链的安全性和不可篡改性&#xf…

股指期货和股指期权有什么区别?

在金融衍生品的世界里&#xff0c;股权类衍生品无疑是其中的佼佼者&#xff0c;而股指期货和股指期权更是其中的佼佼者。尽管它们之间有着千丝万缕的联系&#xff0c;但它们之间的区别同样不容忽视。本文衍生股指君将详细解析股指期货和股指期权的核心区别。 一、交易的东西不…

VUE项目基于源码实现可视化编程技术的探索

背景 在面对大型且高度组件化的项目时&#xff0c;传统的开发模式——即边预览边手动修改代码&#xff0c;往往会因项目结构的复杂性而显得效率低下&#xff0c;尤其是对于新加入项目或对项目结构不够熟悉的开发者而言&#xff0c;从UI界面逆向定位到具体代码实现并作出修改的过…

02.06、回文链表

02.06、[简单] 回文链表 1、题目描述 编写一个函数&#xff0c;检查输入的链表是否是回文的。 2、解题思路&#xff1a; 快慢指针找中点&#xff1a; 利用快慢指针的技巧来找到链表的中间节点。慢指针 slow 每次移动一步&#xff0c;而快指针 fast 每次移动两步。这样&…

【git】git add时warning:LF will replaced by CRLF

git add时warning&#xff1a;LF will replaced by CRLF 一&#xff0c;问题现象二&#xff0c;问题原因&解决方法 一&#xff0c;问题现象 二&#xff0c;问题原因&解决方法 这个警告的原因是 Git 在进行文件添加操作时&#xff0c;发现行尾结束符不一致。 在不同的…

深入理解Transformer的笔记记录(精简版本)---- ELMO->GPT->BERT

1、ELMO word embedding无法区分多义词的不同语义,其本质上是个静态的方式,所谓静态指的是训练好之后每个单词的表达就固定住了,以后使用的时候,不论新句子上下文单词是什么,这个单词的Word Embedding不会跟着上下文场景的变化而改变 ELMO根据当前上下文对Word Embed…

http大数据post与put请求

大数据请求情况下出现post请求提交出错而put请求提交不出错 一、http方法特性差异 1、请求语义和用途不同 post通常用于 创建新资源Put一般用于更新现有资源服务器对于不同的HTTP方法可能有不同的处理逻辑和优化策略。在某些情况下&#xff0c;服务器可能对put请求的处理更加…

数据恢复与取证: 使用 OSForensics 从未启动 Android 设备中获取数据

天津鸿萌科贸发展有限公司是 OSForensics 数据调查取证软件的授权代理商。 OSForensics 数据调查取证软件协助用户通过高性能文件搜索快速从计算机和智能设备中提取数据调查证据&#xff1b;通过哈希匹配、驱动器签名比较、电子邮件、内存和二进制数据识别可疑文件和活动&#…