华为OD机试 - 数组连续和 - 滑动窗口(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里
专栏导读
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷+C卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
一、题目描述
给定一个含有N个正整数的数组,求出有多少连续区间(包括单个正整数),它们的和大于等于 x。
二、输入描述
第一行为两个整数 N,x。(0<N≤100000, 0≤x≤10000000)
第二行有 N 个正整数 (每个正整数小于等于 100)。
三、输出描述
输出一个整数,表示所求的个数
注意:此题对效率有要求,暴力解法通过率不高,请考虑高效的实现方式。
1、输入
3 7
3 4 7
2、输出
4
3、说明
第一行的 3表示第二行数组输入3个数,第一行的7是比较数,用于判断连续数组是否大于该数;
组合为 3+4,3+4+7,4+7,7;都大于等于指定的7;所以共四组。
四、解题思路
通过滑动窗口的方式解题。
核心思路:
- 遍历数组,向右扩展窗口
- left右移,缩小窗口
- left右移后,减去left处的值,就是left到right的区间和
- 再通过区间和去和x比较,如果还是大于x,则left继续右移
- 满足条件的连续区间个数+1
五、Java算法源码
public class Test05 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取输入int N = scanner.nextInt(); // 数组长度int x = scanner.nextInt(); // 目标和int[] nums = new int[N]; // 存储数组元素for (int i = 0; i < N; i++) {nums[i] = scanner.nextInt(); // 读取数组元素}int left = 0; // 左指针int right = 0; // 右指针int sum = 0; // 当前窗口内元素的和int count = 0; // 满足条件的连续区间个数// 遍历数组while (right < N) {// 向右扩展窗口sum += nums[right];int tempSum = sum;// left右移,缩小窗口while (tempSum >= x && left <= right) {// left右移后,减去left处的值,就是left到right的区间和// 再通过区间和去和x比较,如果还是大于x,则left继续右移tempSum -= nums[left];left++;// 满足条件的连续区间个数+1count++;}left = 0;right++;}// 输出结果System.out.println(count);}
}
六、效果展示
1、输入
4 7
2 3 4 7
2、输出
6
3、说明
符合要求的连续区间:
234、2347、34、347、47、7

🏆下一篇:华为OD机试 - 简易内存池 - 逻辑分析(Java 2024 C卷 200分)
🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷+C卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

相关文章:
华为OD机试 - 数组连续和 - 滑动窗口(Java 2024 C卷 100分)
华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…...
微店micro获得微店micro商品详情,API接口封装系列
微店商品详情API接口封装系列主要涉及注册账号、获取API密钥、选择API接口、发送请求以及处理响应等步骤。以下是详细的流程: 请求示例,API接口接入Anzexi58 一、注册账号并获取API密钥 首先,你需要在微店开放平台注册一个账号。注册成功后…...
C语言中的数据结构--链表的应用1(2)
前言 上一节我们学习了链表的概念以及链表的实现,那么本节我们就来了解一下链表具体有什么用,可以解决哪些实质性的问题,我们借用习题来加强对链表的理解,那么废话不多说,我们正式进入今天的学习 单链表相关经典算法O…...
.Net6 使用Autofac进行依赖注入
一、背景 刚接触.net 6,记录一下在.net6上是怎么使用Autofac进行动态的依赖注入的 二、注入方式 1、新建一个webapi项目,框架选择net 6 2、引用Nuget包---Autofac.Extensions.Dependency 3、在Program.cs上添加如下代码 //依赖注入 builder.Host.Us…...
第十二届蓝桥杯省赛真题(C/C++大学B组)
目录 #A 空间 #B 卡片 #C 直线 #D 货物摆放 #E 路径 #F 时间显示 #G 砝码称重 #H 杨辉三角形 #I 双向排序 #J 括号序列 #A 空间 #include <bits/stdc.h> using namespace std;int main() {cout<<256 * 1024 * 1024 / 4<<endl;return 0; } #B 卡片…...
DC40V降压恒压芯片H4120 40V转5V 3A 40V降压12V 车充降压恒压控制器
同步整流恒压芯片在现代电子设备中发挥着重要作用,为各种设备提供了稳定、高效的电源管理解决方案。 同步整流恒压芯片是一种电源管理芯片,它能够在不同电压输入条件下保持输出电压恒定。这种芯片广泛应用于各种电子设备中,如通讯设备、液晶…...
2、Qt UI控件 -- qucsdk项目使用
前言:上一篇文章讲了qucsdk的环境部署,可以在QDesigner和Qt Creator中看到qucsdk控件,这一篇来讲下在项目中使用qucsdk库中的控件。 一、准备材料 要想使用第三方库,需要三个先决条件, 1、控件的头文件 2、动/静态链…...
MATLAB算法实战应用案例精讲-【人工智能】AIGC概念三部曲(三)
目录 前言 算法原理 大模型 什么是AIGC? AIGC和Chat GPT的关系 常见的AIGC应用...
外汇110:外汇交易不同货币类别及交易注意事项!
外汇市场是一个庞大而复杂的市场,其中有各种各样的货币品种。对于外汇投资者来说,了解外汇品种的特性和走势是比较重要的。1. 货币种类 外汇市场中的货币品种可以分为主要货币、次要货币和外围货币。 主要货币:主要指美元、欧元、英镑、日元、…...
gerrit 拉取失败
在浏览器gerrit的设置界面设置的邮箱地址和在命令行使用git config --gloable user.email设置的邮箱地址必须保持一致吗 在浏览器gerrit的设置界面设置的邮箱地址和在命令行使用git config --global user.email设置的邮箱地址并不一定需要保持一致。这两个邮箱地址是独立的&am…...
大数据行业英语单词巩固20240410
20240410 Communication - 沟通 Example: Effective communication is essential for project success. 有效的沟通对于项目的成功至关重要。 Collaboration - 协作 Example: Team collaboration is crucial in achieving our goals. 团队协作对于实现我们的目标至关重要。 …...
天软特色因子看板 (2024.4 第3期)
该因子看板跟踪天软特色因子A05005(近一月单笔流出金额占比(%),该因子为近一月单笔流出金额占比(% 均值因子,用以刻画下跌时的 单成交中可能存在的抄底现象 今日为该因子跟踪第3期,跟踪其在SH000852 (中证1000) 中的表现,要点如下…...
使用QT 开发不规则窗体
使用QT 开发不规则窗体 不规则窗体贴图法的不规则窗体创建UI模板创建一个父类创建业务窗体main函数直接调用user_dialog创建QSS文件 完整的QT工程 不规则窗体 QT中开发不规则窗体有两种方法:(1)第一种方法,使用QWidget::setMask函…...
如何构建企业经营所需的商业智能(BI)能力
构建企业经营所需的商业智能(BI)能力是一项涉及诸多关键环节与细致考量的系统工程,通过科学的数据处理、分析与应用,赋能企业实现精准决策,提升运营效率,优化业务流程,并在竞争激烈的市场环境中…...
【vue】watch监听取不到this指向的数?
今天同事问我,watch里this指向的数值,别的地方却可以打印出来。工具也能看到数值,但打印出来却是undifined,先看看代码: 懒得打字了直接上截图吧 ps: 在Vue组件中,如果你在watch选项中访问this…...
Ubuntu-22.04安装VMware虚拟机并安装Windows10
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VMware是什么?二、安装VMware1.注册VMware账号2.下载虚拟机3.编译vmmon&vmnet4.加载module5.安装bundle 三、安装Windows101.基础配置2.进阶…...
ELK企业日志分析系统介绍
前言 随着企业级应用系统日益复杂,随之产生的海量日志数据。传统的日志管理和分析手段,难以做到高效检索、实时监控以及深度挖掘潜在价值。在此背景下,ELK日志分析系统应运而生。本文将从ELK 日志分析系统的原理、架构及其在实践中的应用做相…...
在C#中读取写入字节流与读取写入二进制数据, 有何差异?
在C#中,读取和写入字节流与读取和写入二进制数据有些许不同,尽管它们在某些情况下可能会重叠使用。以下是它们之间的主要区别: 读取和写入字节流: 读取和写入字节流通常指的是处理文件或流中的原始字节数据。在C#中,可…...
数据库相关知识总结
一、数据库三级模式 三个抽象层次: 1. 视图层:最高层次的抽象,描述整个数据库的某个部分的数据 2. 逻辑层:描述数据库中存储的数据以及这些数据存在的关联 3. 物理层:最低层次的抽象,描述数据在存储器中时如…...
【汇编语言实战】输出数组中特定元素
C语言描述: #include <stdio.h> int main() {int a[]{1,2,3,4,5,6};printf("%d",a[3]); }汇编语言: include irvine32.inc .data arr dword 1,2,3,4,5,6 num dword 1 ;输出第二个元素 .code main proc mov esi,offset arr mov edx,nu…...
JVS-APS智能排产后如何配置移动端扫码报工
报工是在工厂中,确定人员/产线按照计划执行后,提交生产结果数据,那么在APS 完成计划排产后,如何能便捷的报工,下面我们有JVS快速开发平台做了一个报工的应用,实现 aps-mes 之间 任务下发与任务结果反馈的整…...
基于python的民宿预定管理系统设计与实现j470j
目录同行可拿货,招校园代理 ,本人源头供货商功能需求分析用户端功能房东端功能管理员端功能技术实现要点扩展功能建议项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能需求分析 民宿…...
【力扣100题】09.反转链表
一、题目描述 给定单链表的头节点 head,反转链表并返回反转后的链表。 示例 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]输入:head [1,2] 输出:[2,1]输入:head [] 输出:[]二、核心思路 关键观察…...
每日算法题 21---54.螺旋矩阵
题目54.螺旋矩阵要求给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。示例思路核心思路是用边界圈定遍历范围,按照固定方向循环遍历,每遍历完一条边就收缩对应边界,直到边界交叉终止&…...
SEO_SEO优化常见误区及正确操作指南
SEO优化常见误区 在互联网时代,SEO(搜索引擎优化)已成为网站运营中不可或缺的一部分。很多人在实际操作中却常常犯下一些常见的SEO优化误区,这不仅影响了网站的流量,也可能导致搜索引擎的惩罚。下面我们将详细分析这些…...
seo排名大师软件好用吗
SEO排名大师软件好用吗?深入解析其优缺点 在当今数字化营销的环境中,SEO(搜索引擎优化)已成为网站提升流量、吸引潜在客户的重要手段。而SEO排名大师软件作为一种工具,是否真的能帮助我们实现目标?本文将深…...
Phi-4-mini-reasoning案例分享:用逻辑题测试模型对‘必要条件’的理解深度
Phi-4-mini-reasoning案例分享:用逻辑题测试模型对必要条件的理解深度 1. 模型能力定位 Phi-4-mini-reasoning是专为推理任务优化的文本生成模型,其核心优势在于处理需要多步逻辑推导的问题。与通用对话模型不同,它更擅长处理以下类型任务&…...
智能转换驱动科研效率:DeTikZify重构学术图表自动化新范式
智能转换驱动科研效率:DeTikZify重构学术图表自动化新范式 【免费下载链接】DeTikZify Synthesizing Graphics Programs for Scientific Figures and Sketches with TikZ 项目地址: https://gitcode.com/gh_mirrors/de/DeTikZify 在科研成果可视化的关键环节…...
告别计算瓶颈:手把手教你用PyTorch实现ECCV 2024的FFCM图像去雨模块
突破计算效率边界:PyTorch实战ECCV 2024 FFCM图像去雨核心模块 雨滴干扰是计算机视觉领域长期存在的挑战,传统基于空间域的方法往往需要消耗大量计算资源。ECCV 2024提出的FFCM(Fused Fourier Convolution Mixer)模块通过巧妙融合…...
无人机开发者必看:如何基于QGC源码定制你的专属地面站?从环境搭建到第一个插件开发
无人机开发者必看:如何基于QGC源码定制你的专属地面站?从环境搭建到第一个插件开发 在无人机技术迅猛发展的今天,开源地面站软件QGroundControl(QGC)已成为行业标准工具之一。但对于追求个性化功能或特定应用场景的开发…...
