【算法】和为K的连续子数组

牛客链接:https://www.nowcoder.com/practice/704c8388a82e42e58b7f5751ec943a11?tpId=196&&tqId=37127&rp=1&ru=/ta/job-code-total&qru=/ta/job-code-total/question-ranking

在这里插入图片描述
使用【前缀法】,把所有连续和合索引存进哈希表,当sum-k存在时证明存在连续的子数组和尾k。

function maxlenEqualK(arr, k) {// write code herelet sum = 0;const map = new Map();let len = 0;map.set(0, -1);for (let i in arr) {sum += arr[i];if (!map.has(sum)) {map.set(sum, i);}if (map.has(sum - k)) {console.log("i", i, "map.get(sum-k)", map.get(sum - k));len = Math.max(len, i - map.get(sum - k));}}return len;
}

以下暴力解法会超时!!!!!

function solution(arr, k) {let maxLen = 0;for (let i = 0; i < arr.length; i++) {let count = arr[i];if (count === k) {maxLen = Math.max(maxLen, 1);}for (let j = i + 1; j < arr.length; j++) {count += arr[j];if (count === k) {maxLen = Math.max(maxLen, j - i + 1);}}}return maxLen;
}const arr3 = [-1, 0, 0, 0];
const k3 = -1;
const arr1 = [1, -2, 1, 1, 1];
const k1 = 0;
const arr2 = [0, 1, 2, 3];
const k2 = 3;
const arr4 = [1, 1, 1];
const k4 = 2;
console.log(solution(arr4, k4));
// [1,-2,1,1,1],0   =>3  [0,1,2,3] 3 =>3  [-1,0,0,0] -1 => 4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316405.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】SpringBoot整合xxl-job学习使用详解

文章目录 介绍作用如何使用下载项目中央仓库地址环境调度中心初始化“调度数据库”配置部署“调度中心”部署项目调度中心集群&#xff08;可选&#xff09;其他&#xff1a;Docker 镜像方式搭建调度中心配置部署“执行器项目” 执行器maven依赖执行器配置执行器组件配置执行器…

【快速全面掌握 WAMPServer】13.PHP调试麻烦?请 xDebug 来帮忙!

网管小贾 / sysadm.cc 对于能否快速高效地编写程序&#xff0c;代码调试水平是多个重要指标之一。 按照这个逻辑&#xff0c;自然而然如何高效地调试代码也就成了一件非常重要而不得不让众多程序员面对的课题了。 其他编程语言的调试可能还好些&#xff0c;可是有过 PHP 程序…

蓝牙物联网漏洞攻击的几种方式?

在物联网日益普及的今天&#xff0c;蓝牙技术的广泛应用为我们的生活带来了诸多便利。然而&#xff0c;正如一枚硬币有两面&#xff0c;蓝牙技术的普及也带来了新的安全挑战。近日&#xff0c;一项关于蓝牙物联网漏洞攻击的研究引起了广泛关注。这项研究揭示了蓝牙物联网所面临…

微服务-理论(CAP,一致性协议)

CAP理论 关于CAP理论的介绍可以直接看这篇文章 CAP分别是什么&#xff1f; 一致性&#xff08;Consistency 一致性包括强一致性&#xff0c;弱一致性&#xff0c;最终一致性。 一致性其实是指数据的一致性&#xff0c;为什么数据会不一致呢&#xff1f; 如上面这张图&…

金色麦芒的2023

2023年即将过去&#xff0c;回首这一年&#xff0c;我深感自己在技术和职业生涯中取得了巨大的进步。这一年里&#xff0c;我不仅在技术层面有了更深入的掌握&#xff0c;也在个人成长和职业规划上有了更明确的方向。 首先&#xff0c;在技术层面&#xff0c;我今年最大的收获是…

Nginx多ip部署多站点

目录 1.修改网卡配置信息 2.修改主要配置文件nginx.conf 1.修改网卡配置信息 1)来到网卡配置文件存放目录下 cd /etc/sysconfig/network-scripts/ 2)对 ifcfg-ens33 文件进行配置修改前先进行备份 cp ifcfg-ens33 ifcfg-ens33.default 3)先修改成最小配置&#xff0c;使用 d…

原生JS做别踩白块游戏

思路 创建初始一个按钮并为他添加点击监听开始创建随机方块&#xff0c;并样式_box.offsetTop speed px结合setInterval使得方块不断下移创建和删除方块的原则&#xff1a;box.offsetTop>0&#xff08;可视区上部没有方块了&#xff09;时候需要创建一行方块&#xff0c;…

体元法--体积计算

文章目录 环境&#xff1a;1.1 体元法介绍&#xff1a;2.1 python代码3.1 可视化 环境&#xff1a; Open3D 1.1 体元法介绍&#xff1a; 用一个个体素去占据点云&#xff0c;然后对所有体素求和 2.1 python代码 conda activete deeplabv3plus(环境名称–安装好open3D的) py…

iOS 小组件开发

iOS14之后Apple引入了新的WidgetKit&#xff0c;舍弃了原有额TodayExtension。 开发准备&#xff1a; 新的WidgetExtension只能通过SwiftUI进行开发&#xff1b; Widget有三种尺寸&#xff1a;systemSmall、 systemMedium、systemLarge&#xff0c;三种尺寸对应固定的UI类型布…

0基础学java-day23(反射)

一、反射机制 1、一个需求引出反射 package com.hspedu.reflection.question;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; …

Redis(二)数据类型

文章目录 官网备注十大数据类型StringListHashSetZSetBitmapHyperLogLog&#xff1a;GEOStreamBitfield 官网 英文&#xff1a;https://redis.io/commands/ 中文&#xff1a;http://www.redis.cn/commands.html 备注 命令不区分大小写&#xff0c;key区分大小写帮助命令help…

蓝牙物联网的安全漏洞分析

在当前的网络应用中&#xff0c;物联网具有对物品多样性、低成本、低速率、短距离等特征的泛在需求&#xff0c;这类需求主要通过蓝牙等低速网络协议实现。蓝牙是一种短距离通信开放标准&#xff0c;利用嵌入式芯片实现通讯距离在 10 m100m之间的无线连接。蓝牙的设计目标在于通…