当前位置: 首页 > article >正文

【LeetCode】【算法】560. 和为 K 的子数组

LeetCode 560. 和为 K 的子数组

题目描述

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。
子数组是数组中元素的连续非空序列。

思路

思路:前缀和

  1. 定义数组preSum[nums.length+1],在里面计算nums数组每一位置上和前面所有数的累加和
  2. 嵌套循环遍历preSum数组,每次用preSum[right]-preSum[left]以计算区间left~right的和,若满座条件,则子数组个数+1

代码

class Solution {
    public int subarraySum(int[] nums, int k) {
        int len = nums.length;
        int[] preSum = new int[len + 1];
        for (int i = 0; i < len; i++) {
            preSum[i + 1] = preSum[i] + nums[i];
        }

        int count = 0;
        for (int left = 0; left < len; left++) {
            for (int right = 0; right < len; right++) {
                if (preSum[right + 1] - preSum[left] == k) {
                    count++;
                }
            }
        }
        return count;
    }
}

http://www.kler.cn/a/388833.html

相关文章:

  • python高效处理大数据:将Excel10万数据分批插入MySQL数据库的实战代码
  • 用vscode编写verilog时,如何有信号定义提示、信号定义跳转(go to definition)、模块跳转这些功能
  • 使用pytest+openpyxl做接口自动化遇到的问题
  • 工业相机选取
  • EasyExcel 使用多线程按顺序导出数据
  • ffmpeg内存模型
  • 成都睿明智科技有限公司抖音电商服务效果如何?
  • 欺诈文本分类检测(十八):基于llama.cpp+CPU推理
  • vform2 表单数据回显问题
  • WPF中的ResizeMode
  • 用Vue3+SpringBoot实现餐厅点餐系统的购物车功能
  • 数据库系统概论(期末复习版)
  • 简单叙述 Spring 是如何解决循环依赖问题的呢?
  • ubuntu 22.04 server 安装 mysql 5.7.40 LTS
  • layui xm-select的使用
  • ASP.NET Core 路由规则,自定义特性路由 ,IActionConstraint 路由约束 总结 mvc
  • Swift 开发教程系列 - 第12章:协议与协议扩展
  • 利用RANSAC算法拟合平面并生成包围框的点云处理方法,点云聚类、质心坐标、倾斜角度、点云最小外接矩形
  • 【JAVA】正则表达式的贪婪模式与非贪婪模式
  • 详解MySQL安装
  • 使用原生Redis完成分布式锁
  • Rust安全性与最佳实践————安全编程技巧
  • 网络安全---安全见闻
  • 安卓/华为手机恢复出厂设置后如何恢复照片
  • 树莓派AI视觉小车--5.机器人小车超声波避障
  • Typora导出pdf手动分页和设置字体样式