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

NC 和为K的连续子数组

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


描述
给定一个无序数组 arr , 其中元素可正、可负、可0。给定一个整数 k ,求 arr 所有连续子数组中累加和为k的最长连续子数组长度。保证至少存在一个合法的连续子数组。
[1,2,3]的连续子数组有[1,2],[2,3],[1,2,3] ,但是[1,3]不是
在这里插入图片描述

public static int maxLength(int[] arr, int k) {
    if (arr == null || arr.length == 0) {
        return 0;
    }
    Map<Integer, Integer> map = new HashMap<>();
    map.put(0, -1);
    int len = 0;
    int sum = 0;
    for (int i = 0; i < arr.length; i++) {
        sum += arr[i];
        if (map.containsKey(sum - k)) {
            len = Math.max(len, i - map.get(sum - k));
        }
        if (!map.containsKey(sum)) {
            map.put(sum, i);
        }
    }
    return len;
}

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

相关文章:

  • Qt Desiogn生成的ui文件转化为h文件
  • lvm快照备份技术详细知识点
  • dl学习笔记:(4)简单神经网络
  • 【Java】LinkedHashMap (LRU)淘汰缓存的使用
  • ZooKeeper 核心知识全解析:架构、角色、节点与应用
  • CV与NLP经典大模型解读
  • 【PostgreSQL】扩展插件介绍
  • 相机光学(三十七)——自动对焦原理
  • 软件架构风格 - 数据流风格
  • LinuxPTP的安装与应用
  • 【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用
  • 某里228滑块逆向分析
  • UE5滚轮实现第一和第三视角的切换
  • 轻松升级:Ollama + OpenWebUI 安装与配置【AIStarter】
  • SprinBoot+Vue房屋租赁管理系统的设计与实现
  • 深入Redis:复杂的集群
  • 【JavaScript】LeetCode:26-30
  • CV、NLP、数据控掘推荐、量化
  • Redis 多线程模型详解
  • EmguCV学习笔记 VB.Net 11.4 图像分类
  • 如何使用 PowerShell 脚本来自动化 Windows 开发流程的教程(包括理论介绍和实践示例)
  • FPGA设计-使用MicroBlaze的Boot Loader的注意事项
  • Leetcode3271. 哈希分割字符串
  • 论文阅读:RGBD GS-ICP SLAM
  • 【题解】CF2008G
  • 解锁数据的秘密武器:PCA带你走进降维新世界