[LeetCode]Subarray Sum Equals K
来源:互联网 发布:java输入char字符串 编辑:程序博客网 时间:2024/06/05 05:15
- Total Accepted: 7118
- Total Submissions: 17265
- Difficulty: Medium
- Contributors:love_Fawn
Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k.
Example 1:
Input:nums = [1,1,1], k = 2Output: 2
Note:
- The length of the array is in range [1, 20,000].
- The range of numbers in the array is [-1000, 1000] and the range of the integer k is [-1e7, 1e7].
方法一:(o(n**2)枚举)
public class Solution { public int subarraySum(int[] nums, int k) { if(nums.length==0) return 0; int re=0; for(int i=0;i<nums.length;i++){ int sum=0; for(int j=i;j<nums.length;j++){ sum+=nums[j]; if(sum==k) re++; } } return re; }}方法二:(o(n))
其实和two Sum的道理是一模一样的,只是这题先得到累加数组,然后转化为数组中两个数之差等于定值k的数值对的个数,用Hash即可
public class Solution2 {public int subarraySum(int[] nums, int k) {if(nums.length==0) return 0;HashMap<Integer,Integer> map=new HashMap<Integer,Integer>();int re=0;int sum=0;map.put(0, 1);for(int i=0;i<nums.length;i++){sum+=nums[i];if(map.containsKey(sum-k)){re+=map.get(sum-k);}Integer num=map.get(sum);if(num==null) num=0;map.put(sum,num+1);}return re;}}
阅读全文
1 0
- [LeetCode]Subarray Sum Equals K
- leetCode-Subarray Sum Equals K
- 【Leetcode】Maximum Size Subarray Sum Equals k
- leetcode Maximum Size Subarray Sum Equals k
- Leetcode: Maximum Size Subarray Sum Equals k
- Leetcode 560. Subarray Sum Equals K
- [leetcode] 560. Subarray Sum Equals K
- leetcode题解-560. Subarray Sum Equals K
- Leetcode 560. Subarray Sum Equals K
- LeetCode OJ-560.Subarray Sum Equals K
- 560. Subarray Sum Equals K leetcode
- [leetcode 560]Subarray Sum Equals K
- [leetcode]560. Subarray Sum Equals K
- 20170603-leetcode-560-Subarray Sum Equals K
- leetcode 560Subarray Sum Equals K题解
- [LeetCode] 560. Subarray Sum Equals K
- leetcode 560. Subarray Sum Equals K
- leetcode(560). Subarray Sum Equals K
- mysql之 mysql 5.6不停机主从搭建(一主一从基于GTID复制)
- Java迭代器Iterator原理和使用总结
- 学习淘淘商城第九十三课(用户登录的实现)
- java语言基础(63)——日期时间处理方法(Date DateFormat Calendar)
- 如何提高C++的编译速度
- [LeetCode]Subarray Sum Equals K
- x264 码率控制:mb-tree
- HTTP常用状态码
- Win7重新受到用户追捧,竟然因为勒索病毒!
- Python学习练习3----Dictionary(字典)
- DPDK测试
- 真正的成功只有一个, 就是按照自己喜欢的方式, 去度过人生.
- Solr-6.5.1环境搭建
- 【android】第一章 Android快速入门