leetcode-560-和为K的子数组

发布时间:2024年01月04日

一 问题描述

给你一个整数数组 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)的遍历问题

三 解题思路分析

官方解答如下

文章来源:https://blog.csdn.net/youzjuer/article/details/135393543
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。