【LeetCode】560. 和为K的子数组(Java)

    科技2022-07-21  108

    给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。

    说明 :

    数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。 class Solution { public int subarraySum(int[] nums, int k) { //连续数之和的个数 int count = 0; //遍历整个数组 for (int i = 0; i < nums.length; i++) { int sum = 0; //从i开始加,如果sum等于k,count加1 for (int j = i; j < nums.length; j++) { sum += nums[j]; //因为用负数,所以就算大于k也不能跳出,需要遍历整个 if (sum == k) count++; } } return count; } }

    没想到什么好的优化思路。

    Processed: 0.011, SQL: 8