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

Java解决长度为K子的数组中的的最大和

Java解决长度为K子的数组中的的最大和

01 题目

  • 给你一个整数数组 nums 和一个整数 k 。请你从 nums 中满足下述条件的全部子数组中找出最大子数组和:

    • 子数组的长度是 k,且
    • 子数组中的所有元素 各不相同 。

    返回满足题面要求的最大子数组和。如果不存在子数组满足这些条件,返回 0

    子数组 是数组中一段连续非空的元素序列。

    示例 1:

    输入:nums = [1,5,4,2,9,9,9], k = 3
    输出:15
    解释:nums 中长度为 3 的子数组是:
    - [1,5,4] 满足全部条件,和为 10 。
    - [5,4,2] 满足全部条件,和为 11 。
    - [4,2,9] 满足全部条件,和为 15 。
    - [2,9,9] 不满足全部条件,因为元素 9 出现重复。
    - [9,9,9] 不满足全部条件,因为元素 9 出现重复。
    因为 15 是满足全部条件的所有子数组中的最大子数组和,所以返回 15 。
    

    示例 2:

    输入:nums = [4,4,4], k = 3
    输出:0
    解释:nums 中长度为 3 的子数组是:
    - [4,4,4] 不满足全部条件,因为元素 4 出现重复。
    因为不存在满足全部条件的子数组,所以返回 0 。
    

    提示:

    • 1 <= k <= nums.length <= 105
    • 1 <= nums[i] <= 105

02 知识点

  • 弹窗移动
  • 有序数对map的使用

03 我的题解思路

public class maximumSubarraySum {public static void main(String[] args) {
//		测试数据int[] nums= {1,1,1,7,8,9};System.out.println(maximumSubarraySum(nums, 3));}public static long maximumSubarraySum(int[] nums, int k) {long rs=0;//最终返回的答案long max=0;//局部最大值Map<Integer, Integer> map=new HashMap<>();
//			 弹窗最开始,记录0到k中,每个值出现的次数for (int i = 0; i < k; i++) {max+=nums[i];
//				 设置每个值出现的次数,第一次为0+1,之后每出现一次加一map.put(nums[i], map.getOrDefault(nums[i],0)+1);}
//			 利用map不会重复,判断第一次弹窗的元素是否符合条件if(map.size()==k) {rs=max;}
//			 接着循环剩下的元素for (int i = k; i < nums.length; i++) {
//				 整个弹窗向右移动max+=nums[i];//弹窗右边移动map.put(nums[i], map.getOrDefault(nums[i],0)+1);//记录新右边界的值max-=nums[i-k];//弹窗左边移动int index=map.get(nums[i-k]);//获得新左边界的出现次数if(index==1) {map.remove(nums[i-k]);//只出现一次,就直接去掉}else {map.put(nums[i-k], index-1);//出现大于一次,就次数减一}if(map.size()==k) {//判断本次弹窗的元素是否符合条件,符合则比较值rs=Math.max(max, rs);}} return rs;}
}

相关文章:

Java解决长度为K子的数组中的的最大和

Java解决长度为K子的数组中的的最大和 01 题目 给你一个整数数组 nums 和一个整数 k 。请你从 nums 中满足下述条件的全部子数组中找出最大子数组和&#xff1a; 子数组的长度是 k&#xff0c;且子数组中的所有元素 各不相同 。 返回满足题面要求的最大子数组和。如果不存在子…...

【手机端测试】adb基础命令

一、什么是adb adb&#xff08;Android Debug Bridge&#xff09;是android sdk的一个工具 adb是用来连接安卓手机和PC端的桥梁&#xff0c;要有adb作为二者之间的维系&#xff0c;才能让用户在电脑上对手机进行全面的操作。 Android的初衷是用adb这样的一个工具来协助开发人…...

【数据结构】深入探讨二叉树的遍历和分治思想(一)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;数据结构 &#x1f525;该文章主要讲述二叉树的递归结构及分治算法的思想。 目录&#xff1a; &#x1f30d;前言&#xff1a;&#x1f30d;…...

jQuery AJAX get() 和 post() 方法—— W3school 详解 简单易懂(二十四)

jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。 HTTP 请求&#xff1a;GET vs. POST 两种在客户端和服务器端进行请求-响应的常用方法是&#xff1a;GET 和 POST。 GET - 从指定的资源请求数据POST - 向指定的资源提交要处理的数据 GET 基本…...

Linux中如何进行LVM逻辑卷扩容?

#注意&#xff1a;如果lv所在的vg有空间直接扩容就ok了&#xff01; 1.创建pv pvcreate /dev/sdb 执行以上命令得到以下内容&#xff1a; Physical volume "/dev/sdb" successfully created. 2.直接vgextend扩容 vgextend vg1 /dev/sdb #卷组名字&#xff0c;将…...

现代企业架构框架——应用架构

现代企业架构框架——应用架构。 现代企业架构中的应用架构是指企业在构建和维护应用系统时所采用的一种架构框架。应用架构旨在实现应用系统的可扩展性、灵活性、可维护性和可重用性,以满足企业在数字化时代对应用系统的快速交付和持续创新的需求。下面将详细介绍应用架构的…...

期货开户保证金保障市场正常运转

期货保证金是什么&#xff1f;在期货市场上&#xff0c;采取保证金交易制度&#xff0c;投资者只需按期货合约的价值&#xff0c;交一定比率少量资金即可参与期货合约买卖交易&#xff0c;这种资金就是期货保证金。期货保证金&#xff08;以下简称保证金〕按性质与作用的不同。…...

WebGIS----wenpack

学习资料&#xff1a;https://webpack.js.org/concepts/ 简介&#xff1a; Webpack 是一个现代化的 JavaScript 应用程序的模块打包工具。它能够将多个 JavaScript 文件和它们的依赖打包成一个单独的文件&#xff0c;以供在网页中使用。 Webpack 还具有编译和转换其他类型文…...

【Maven】Maven 基础教程(二):Maven 的使用

《Maven 基础教程》系列&#xff0c;包含以下 2 篇文章&#xff1a; Maven 基础教程&#xff08;一&#xff09;&#xff1a;基础介绍、开发环境配置Maven 基础教程&#xff08;二&#xff09;&#xff1a;Maven 的使用 &#x1f60a; 如果您觉得这篇文章有用 ✔️ 的话&#…...

mirthConnect忽略HTTPS SSL验证

mirthConnect SSL忽略验证 1、下载https网站证书 点击不安全---->证书无效 2、查看mirth 秘钥库口令 在mirthConnect 的conf目录下面keystore.storepass 3、导入证书到本地 在jdk的bin目录下面执行 keytool -importcert -file "下载的网站证书路径" -keysto…...

libvirt命名空间xmlns:qemu的使用

示例xml <domain type{domain_type} xmlns:qemuhttp://libvirt.org/schemas/domain/qemu/1.0><qemu:commandline><qemu:commandline><qemu:arg value-newarg/><qemu:env nameQEMU_ENV valueVAL/></qemu:commandline></domain>"…...

ywtool check命令及ywtool clean命令

一.ywtool check命令 1.1 ywtool check -I 1.2 ywtool check all 1.3 ywtool check io 1.4 ywtool check elk 1.5 ywtool check php 1.6 ywtool check mysql 1.7 ywtool check nginx 1.8 ywtool check system 1.9 ywtool check docker_nbip [容器名称] 1.10 ywtool check 1.10…...

java009 - Java面向对象基础

1、类和对象 1.1 什么是对象 万物皆对象&#xff0c;客观存在的事物皆为对象。 1.2 什么是面向对象 1.3 什么是类 类是对现实生活中一类具有共同属性和行为的事物抽象。 特点&#xff1a; 类是对象的数据类型类是具有相同属性和行为的一组对象的集合 1.4 什么是对象的属…...

MWC 2024 | 广和通携手意法半导体发布智慧家居解决方案

世界移动通信大会2024期间&#xff0c;广和通携手横跨多重应用领域、全球排名前列的半导体公司意法半导体&#xff08;STMicroelectronics&#xff0c;以下简称ST&#xff1b;纽约证券交易所代码&#xff1a;STM&#xff09;发布支持Matter协议的智慧家居解决方案。该方案在广和…...

threejs 大场景下,对小模型进行贴图处理

接上篇小模型的删除☞threeJS 大模型中对小模型进行删除-CSDN博客 针对已有模型&#xff0c;根据数据状态进行贴图处理&#xff0c;例如&#xff1a;机房内电脑告警状态、电脑开关机状态下的不同状态贴图等 示例模型还是以丛林小屋为例&#xff1a;针对该模型中的树干进行贴图…...

云畅科技携手飞腾打造智慧园区信创低代码综合解决方案

01 方案概述 随着国家对信创产业的日益重视与大力支持&#xff0c;信创行业的产业化进程正在不断加快。智慧园区&#xff0c;作为信创产业蓬勃发展的核心载体与战略平台&#xff0c;正日益凸显其重要性。与此同时&#xff0c;在政策引导和市场需求的双重驱动下&#xff0c;智慧…...

Dell R730 2U服务器实践1:开机管理

新入手一台Dell R730 2U服务器&#xff0c;用来做FreeBSD下的编译工作和Ubuntu下简单的AI学习和调试。 服务器配置&#xff1a; CPU&#xff1a;E5 2680V4 2 14核心 内存&#xff1a;DDR4 ECC 16G2 2133 MHz 网卡&#xff1a;双千双万 Intel(R) 2P X540/2P I350 rNDC 硬盘…...

『大模型笔记』Sora:探索大型视觉模型的前世今生、技术内核及未来趋势

Sora:探索大型视觉模型的前世今生、技术内核及未来趋势 文章目录 一. 摘要二. 引言原文:Sora: A Review on Background, Technology, Limitations, and Opportunities of Large Vision Models译文:Sora探索大型视觉模型的前世今生、技术内核及未来趋势 [译]图 3: 视觉领域生…...

python中的字符串处理

无极低码 &#xff1a;https://wheart.cn 字符串常量 此模块中定义的常量为&#xff1a; string.ascii_letters 下文所述 ascii_lowercase 和 ascii_uppercase 常量的拼连。 该值不依赖于语言区域。 string.ascii_lowercase 小写字母 abcdefghijklmnopqrstuvwxyz。 该值不依…...

java之servlet

动态的web资源开发技术 不同的用户&#xff0c;或者携带不同的参数&#xff0c;访问服务器 服务器添加判断层&#xff0c;实现访问不同的web资源...

别再让客户端排队了!用C++多线程搞定TCP并发服务器(附完整代码)

突破单线程瓶颈&#xff1a;C高并发TCP服务器实战指南 当你的Echo服务器只能服务一个客户端时&#xff0c;意味着你正面临网络编程中最经典的并发挑战。本文将带你从零构建一个工业级C多线程TCP服务器&#xff0c;彻底解决客户端排队问题。 1. 单线程服务器的致命缺陷 在传统的…...

A级数据中心建设运营汇报方案:A级数据中心建设、A级数据中心运营、数据中心节能

该方案系统性地展示了A级数据中心从建设施工、组织管理、物资调配、测试培训到运维管理、故障处理&#xff0c;再到节能降耗&#xff08;PUE优化&#xff09;的全流程能力。重点突出了标准化建设、专业化分工、系统化调试、智能化运维和绿色节能目标的实现路径&#xff0c;适用…...

技术面试官喜欢问什么问题?

技术面试是求职过程中至关重要的一环&#xff0c;面试官的问题往往决定了候选人能否顺利拿到offer。那么&#xff0c;技术面试官究竟喜欢问哪些问题&#xff1f;这些问题背后又隐藏着怎样的考察意图&#xff1f;了解这些问题的类型和应对策略&#xff0c;可以帮助求职者更有针对…...

Qwen3-0.6B-FP8部署教程:多用户并发测试与显存稳定性压力验证记录

Qwen3-0.6B-FP8部署教程&#xff1a;多用户并发测试与显存稳定性压力验证记录 1. 引言&#xff1a;为什么需要压力测试&#xff1f; 你刚部署好一个AI模型&#xff0c;界面能打开&#xff0c;也能正常对话&#xff0c;是不是就万事大吉了&#xff1f;作为一个过来人&#xff…...

intv_ai_mk11保姆级教程:非程序员也能学会的AI提示词结构——角色+任务+约束+输出格式

intv_ai_mk11保姆级教程&#xff1a;非程序员也能学会的AI提示词结构——角色任务约束输出格式 1. 为什么需要学习提示词结构 很多人在使用AI对话机器人时&#xff0c;常常遇到这样的困扰&#xff1a;明明想问一个问题&#xff0c;但AI给出的回答总是不尽如人意。这通常不是因…...

从DEBUG到MASM:手把手带你复现微机原理实验(含完整代码与调试记录)

从DEBUG到MASM&#xff1a;手把手带你复现微机原理实验 第一次接触汇编语言时&#xff0c;看着屏幕上闪烁的"-"提示符和神秘的DEBUG命令&#xff0c;那种既兴奋又茫然的感觉至今难忘。微机原理实验是每个计算机专业学生的必经之路&#xff0c;但传统实验报告往往只呈…...

如何使用AutoTrain Advanced进行图像超分辨率训练:真实与合成低分辨率图像对比指南

如何使用AutoTrain Advanced进行图像超分辨率训练&#xff1a;真实与合成低分辨率图像对比指南 【免费下载链接】autotrain-advanced &#x1f917; AutoTrain Advanced 项目地址: https://gitcode.com/gh_mirrors/au/autotrain-advanced AutoTrain Advanced是一款强大的…...

控制系统幅频特性曲线绘制实战指南(2)

1. 控制系统幅频特性曲线绘制全流程拆解 第一次接触幅频特性曲线时&#xff0c;我也被那些弯弯曲曲的线条搞得头晕。直到在电机控制项目中亲手调试PID参数时&#xff0c;才发现这简直是工程师的"心电图"——能直观反映系统对不同频率信号的响应能力。今天我们就用最接…...

如何让8大网盘下载速度提升300%?解锁LinkSwift的下载新体验

如何让8大网盘下载速度提升300%&#xff1f;解锁LinkSwift的下载新体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...

SpeedAI科研小助手:论文查重降AIGC率一站式通关神器

一、论文人共同焦虑&#xff1a;重复率飙红、AI率超标&#xff0c;踩坑踩麻了 凌晨两点的实验室、宿舍书桌前&#xff0c;你盯着查重报告上刺眼的60%重复率&#xff0c;再看AIGC检测结果里98%的疑似度&#xff0c;只觉得毕业答辩的门槛好像瞬间高了好几倍。 是不是也踩过这些坑…...