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

华为OD机试真题 Java 实现【区块链文件转储系统】【2023Q2 200分】

在这里插入图片描述

一、题目描述

区块链底层存储是一个链式文件系统,由顺序的N个文件组成,每个文件的大小不一,依次为F1,F2…Fn。

随着时间的推移,所占存储会越来越大。

云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链文件才能转储到SATA盘上,且转储的文件之和不能超过SATA盘的容量。

假设每块SATA盘容量为M,求能转储的最大连续文件大小之和。

二、输入描述

第一行为SATA盘容量M,1000<=M<=1000000

第二行为区块链文件大小序列F1,F2…Fn。其中 1<=n<=100000, 1<=Fi<=500

三、输出描述

求能转储的最大连续文件大小之和

四、Java算法源码

public static void main(String[] args) {Scanner sc = new Scanner(System.in);// 每块SATA盘容量int M = Integer.valueOf(sc.nextLine());// 区块链文件大小序列int[] arr = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();int n = arr.length;int l = 0;int r = 0;int curr = 0;int ret = 0;while (r < n) {curr += arr[r];if (curr <= M) {ret = Math.max(ret, curr);r ++;} else {curr -= arr[r];curr -= arr[l];l ++;}}System.out.println(ret);
}

五、效果展示

1、输入

1000
100 300 500 400 400 150 100

2、输出

950

3、说明

最大序列和为950,序列为[400,400,150]。

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【获得完美走位】【2023Q1 100分】

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

http://www.lryc.cn/news/69877.html

相关文章:

  • Java 实现 二叉树的 后序遍历
  • rk3588安装qt虚拟键盘
  • HCIP-RIP双向重发布综合实验
  • Flask的使用例子
  • 【基础6】存储过程的 创建与调用
  • 如何快速实现接口自动化测试,常规接口断言封装实践
  • java+nodejs+vue+python+php家教信息管理系统
  • 课程分享:鸿蒙HarmonyOS系统及物联网开发实战课程(附课程视频及源码下载)
  • 【数据结构】线性表之栈、队列
  • StringUtils.substring\[XX]()字符串截取方法总结
  • SeaweedFs使用-通过http接口实现文件操作
  • 成绩管理系统
  • 【MYSQL】事务的4大属性,对隔离级别的详细讲解
  • 如何在宝塔面板后的阿里云服务器运行Flask项目并公网可以访问?
  • HTTP(九)-- response对象 -- 向页面响应数据
  • 音视频windows安装ffmpeg6.0并使用vs调试源码笔记
  • Midjourney|文心一格prompt教程[进阶篇]:Midjourney Prompt 高级参数、各版本差异、官方提供常见问题
  • 什么是Java虚拟机(JVM)?
  • 【HISI IC萌新虚拟项目】Package Process Unit模块整体方案·PART3
  • 分布式事务常见解决方案
  • 061:cesium设置棋盘图材质(material-5)
  • 【AI Earth试玩】权限配置与openAPI调用工具库
  • Tomcat安装与使用
  • 大数据课程-学习二十四周总结
  • 【GPT科技系列】国内开发者调用openAI-API科技方法
  • 基于QGIS的长株潭城市群边界范围融合实战
  • 【MySQL联合查询】轻松实现数据关联
  • Windows安装Ubuntu双系统
  • 【大数据之Hadoop】三十四、Hadoop综合调优之小文件优化方法
  • 周赛 Round#3 题解