本文主要是介绍leetcode-560-和为K的子数组,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一 问题描述
给你一个整数数组 nums
和一个整数 k
,请你统计并返回 该数组中和为 k
的子数组的个数 。
子数组是数组中元素的连续非空序列。
示例 1:
输入:nums = [1,1,1], k = 2 输出:2
示例 2:
输入:nums = [1,2,3], k = 3 输出:2
二 问题抽象
* 需要注意的是,二维遍历有两种,一种是起点遍历,另外一种是终点遍历,
起点遍历如下
for(int i = 0; i< n; i++)for(int j = i; j < n; j++)
终点遍历如下
for(int i = 0; i< n; i++)for(int j = i; j >= 0; j--)
本题需要的是终点遍历,并且需要对终点前的n项求和,因此基础上市一个O(n^3)的遍历问题
三 解题思路分析
官方解答如下
这篇关于leetcode-560-和为K的子数组的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!