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

华为OD机试 - 用连续自然数之和来表达整数 - 滑动窗口(Java 2023 B卷 100分)

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

一个整数可以由连续的自然数之和来表示给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式。

二、输入描述

一个目标整数T(1<=T<=1000)

三、输出描述

该整数的所有表达式和表达式的个数。如果有多种表达式,输出要求为:

自然数个数最少的表达式优先输出

每个表达式中按自然数递增的顺序输出,具体的格式参见样例。

在每个测试数据结束时,输出一行”Result:X”,其中X是最终的表达式个数。

用例:

1、输入

9

2、输出

9=9
9=4+5
9=2+3+4
Result:3

四、解题思路

  1. 输入目标整数T;
  2. 定义存储符合要求的数组集合arrList;
  3. 定义sum,计算窗口之和;
  4. 如果窗口之和大于目标t,left指针右移;
  5. 如果窗口之和等于目标t,表示获取到合适窗口;
    • left指针右移,继续探索新窗口;
    • 如果right指针超出范围,break;
    • right指针右移,继续探索新窗口;
  6. 如果窗口之和小于目标t,right指针右移;
  7. 按照自然数个数升序排序,自然数个数最少的表达式优先输出;
  8. 按照指定格式输出。

五、Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);// 目标整数Tint t = sc.nextInt();int[] arr = new int[t];for (int i = 0; i < t; i++) {arr[i] = i + 1;}// 符合要求的数组集合List<int[]> arrList = new ArrayList<>();int left = 0;int right = 1;// 计算窗口之和int sum = arr[left];// 滑动窗口while (left < t) {// 如果窗口之和大于目标t,left指针右移if (sum > t) {sum -= arr[left++];} else if (sum == t) {// 如果窗口之和等于目标t,表示获取到合适窗口int[] oks = Arrays.copyOfRange(arr, left, right);arrList.add(oks);// left指针右移,继续探索新窗口sum -= arr[left++];// 如果right指针超出范围,breakif (right >= t) {break;}// right指针右移,继续探索新窗口sum += arr[right++];} else {// 如果窗口之和小于目标t,right指针右移sum += arr[right++];}}// 按照自然数个数升序排序,自然数个数最少的表达式优先输出arrList.sort((x, y) -> x.length - y.length);// 按照指定格式输出for (int[] array : arrList) {StringJoiner stringJoiner = new StringJoiner("+");for (int i : array) {stringJoiner.add(String.valueOf(i));}System.out.println(t + "=" + stringJoiner);}System.out.println("Result:" + arrList.size());
}

六、效果展示

1、输入

100

2、输出

100=100
100=18+19+20+21+22
100=9+10+11+12+13+14+15+16
Result:3

在这里插入图片描述


🏆下一篇:华为OD机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

相关文章:

华为OD机试 - 用连续自然数之和来表达整数 - 滑动窗口(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;》…...

玩转ChatGPT:图像识别(vol. 1)

一、写在前面 来了来了&#xff0c;终于给我的账号开放图像识别功能了&#xff0c;话不多说&#xff0c;直接开测&#xff01;&#xff01;&#xff01; 二、开始尝鲜 &#xff08;1&#xff09;咒语&#xff1a; GPT回复&#xff1a; 这幅图显示了从2005年1月到2012年12月的…...

oracle 数据库实验三

&#xff08;1&#xff09;向 ORCL数据库添加一个重做日志文件组&#xff08;组号为5&#xff09;&#xff0c;包含一个成员文件d:\redo05a.log,大小为4MB &#xff1b; 要向Oracle数据库添加一个重做日志文件组&#xff0c;您可以执行以下步骤&#xff1a; 连接到数据库&…...

多线程并发篇---第五篇

系列文章目录 文章目录 系列文章目录一、什么是线程安全二、Thread类中的yield方法有什么作用?三、Java线程池中submit() 和 execute()方法有什么区别?一、什么是线程安全 线程安全就是说多线程访问同一段代码,不会产生不确定的结果。 又是一个理论的问题,各式各样的答案有…...

java实现权重随机获取值或对象

文章目录 场景TreeMap.tailMap方法简单分析使用随机值使用treemap实现权重取值将Int改为Double稍微准确一点,因为double随机的值更加多测试main方法 当权重的参数比较多,那么建议使用hutool封装的 场景 按照权重2,8给用户分组为A,B, TreeMap.tailMap方法 treeMap是一种基于红…...

期权账户怎么开通的?佣金最低多少?

场内期权的合约由交易所统一标准化定制&#xff0c;大家面对的同一个合约对应的价格都是一致的&#xff0c;比较公开透明。期权开户当天不能交易的&#xff0c;期权开户需要满足20日日均50万及半年交易经验即可操作。 个人投资者想要交易期权首先就得先开户&#xff0c;根据规…...

MySQL(存储过程,store procedure)——存储过程的前世今生 MySQL存储过程体验 MybatisPlus中使用存储过程

前言 SQL&#xff08;Structured Query Language&#xff09;是一种用于管理关系型数据库的标准化语言&#xff0c;它用于定义、操作和管理数据库中的数据。SQL是一种通用的语言&#xff0c;可以用于多种关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;如MySQ…...

如何建立线上线下相结合的数字化新零售体系?

身处今数字化时代&#xff0c;建立线上线下相结合的数字化新零售体系是企业成功的关键。蚓链数字化营销系统致力于帮助企业实现数字化转型&#xff0c;打通线上线下销售渠道&#xff0c;提升品牌影响力和用户黏性&#xff0c;那么具体是如何建立的&#xff1f; 1. 搭建数字化中…...

python:xlwings 操作 Excel 加入图片

pip install xlwings ; xlwings-0.28.5-cp37-cp37m-win_amd64.whl (1.6 MB) 摘要&#xff1a;Make Excel fly: Interact with Excel from Python and vice versa. Requires: pywin32 编写 xlwings_test.py 如下 # -*- coding: utf-8 -*- """ xlwings 结合 …...

关于hive的时间戳

unix_timestamp&#xff08;&#xff09;和 from_unixtime&#xff08;&#xff09;的2个都是格林威治时间 北京时间 格林威治时间8 from_unixtme 是可以进行自动时区转换的 (4.0新特性) 4.0之前可以通过from_utc_timestamp进行查询 如果时间戳为小数&#xff0c;是秒&#…...

win10 wsl安装步骤

参考&#xff1a; 安装 WSL | Microsoft Learn 一、安装wsl 1.若要查看可通过在线商店下载的可用 Linux 发行版列表&#xff0c;请输入&#xff1a; wsl --list --online 或 wsl -l -o> wsl -l -o 以下是可安装的有效分发的列表。 使用 wsl.exe --install <Distro>…...

深入理解Spring Boot AOP:切面编程的优势与应用

在开发现代化的软件系统中&#xff0c;我们经常会遇到一些横切关注点&#xff08;cross-cutting concerns&#xff09;&#xff0c;比如日志记录、安全控制、事务管理等。传统的面向对象编程&#xff08;OOP&#xff09;在处理这些关注点时往往需要在多个模块中重复编写相似的代…...

使用大模型提效程序员工作

引言 随着人工智能技术的不断发展&#xff0c;大模型在软件开发中的应用越来越广泛。 这些大模型&#xff0c;如GPT、文心一言、讯飞星火、盘古大模型等&#xff0c;可以帮助程序员提高工作效率&#xff0c;加快开发速度&#xff0c;并提供更好的用户体验。 本文将介绍我在实…...

如何应对量化交易,个人股票账户如何实现量化程序化自动交易

目前股票量化交易是对个人账户开放的&#xff0c;如果你没开通&#xff0c;可能是没有找对渠道&#xff0c;很多券商的手机客户端是包含某些简易版的策略交易&#xff0c;如网格策略&#xff0c;自动止盈止损等&#xff0c;这些策略交易虽然简单、灵活性差&#xff0c;但也是量…...

milvus测试

milvus测试 目标 其实&#xff0c;我应该弄明白他的输入输出分别是什么&#xff1f; 输入是图片&#xff0c;图片经过ml模型进行特征提取&#xff0c;再在milvus中进行存储或者检索 部署 ✘ delldell-Precision-3630-Tower  /nvme/baum/git-project/milvus   master …...

antd 表格getCheckboxProps禁用

需求&#xff1a;列表某些数据复选框禁用 实现效果图&#xff1a; 实现代码&#xff1a; <a-table :pagination"false" :row-selection"{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,getCheckboxProps:getCheckboxProps }" :column…...

京东商品列表数据接口,关键词搜索京东商品数据接口

在网页抓取方面&#xff0c;可以使用 Python、Java 等编程语言编写程序&#xff0c;通过模拟 HTTP 请求&#xff0c;获取京东网站上的商品页面。在数据提取方面&#xff0c;可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是&#xff0c;京东网站…...

Vue使用BMapGL,及marker简单使用

1、封装加载器 export function BMapLoader(ak) {return new Promise((resolve, reject) > {if (window.BMapGL) {resolve(window.BMapGL)} else {const script document.createElement(script)script.type text/javascriptscript.src https://api.map.baidu.com/api?v…...

WuThreat身份安全云-TVD每日漏洞情报-2023-10-10

漏洞名称:Glibc ld.so本地权限提升漏洞 漏洞级别:高危 漏洞编号:CVE-2023-4911,CNNVD-202310-197 相关涉及:系统-ubuntu_22.04-glibc-*-Up to-(excluding)-2.35-0ubuntu3.4- 漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-24714 漏洞名称:D-L…...

BSCI认证是谁来验厂?

BSCI认证是BusinessSocialComplianceInitiative的缩写&#xff0c;中文被叫做商业社会标准认证。而BSCI则是倡议商界遵守社会责任的组织&#xff0c;同时它是一个非营利性的组织&#xff0c;宗旨是通过一套统一程序&#xff0c;同时不断完善发展政策&#xff0c;实现监控和促进…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数

高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...

绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化

iOS 应用的发布流程一直是开发链路中最“苹果味”的环节&#xff1a;强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说&#xff0c;这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发&#xff08;例如 Flutter、React Na…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...

CSS3相关知识点

CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...

2.2.2 ASPICE的需求分析

ASPICE的需求分析是汽车软件开发过程中至关重要的一环&#xff0c;它涉及到对需求进行详细分析、验证和确认&#xff0c;以确保软件产品能够满足客户和用户的需求。在ASPICE中&#xff0c;需求分析的关键步骤包括&#xff1a; 需求细化&#xff1a;将从需求收集阶段获得的高层需…...