能量石[算法题]

题目来源:第十五届蓝桥杯大赛软件赛省赛Java 大学 B 组(算法题)

可以参考一下,本人也是比较菜

不喜勿喷,求求求

 
import java.util.Scanner;​public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取小伙伴的数量int n = scanner.nextInt();long[] a = new long[n];long min = Long.MAX_VALUE;// 读取每个小伙伴的能量晶石数量,并找出最小值for (int i = 0; i < n; i++) {a[i] = scanner.nextLong();if (a[i] < min) {min = a[i];}}long moves = 0;// 计算每个小伙伴与最小值的差值,并累加for (int i = 0; i < n; i++) {moves += a[i] - min;}System.out.println(moves);scanner.close();}}

解题思路:

为了使所有小伙伴的能量晶石数量相同,我们可以通过数学推导发现,最终的操作次数可以通过计算每个小伙伴的能量晶石数量与一个固定值的差值的绝对值之和来得到。

我们可以先找到初始能量晶石数量最少的小伙伴,以他为基准,让其他小伙伴去补充能量,这样可以保证操作次数最少。

复杂度分析

  • 时间复杂度O(n),其中 n 是小伙伴的数量。主要时间开销在于读取输入和遍历数组计算差值。

  • 空间复杂度O(n),主要用于存储每个小伙伴的能量晶石数量。

有更好的方法欢迎留言和交流

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

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

相关文章

马尔科夫不等式和切比雪夫不等式

前言 本文隶属于专栏《机器学习数学通关指南》&#xff0c;该专栏为笔者原创&#xff0c;引用请注明来源&#xff0c;不足和错误之处请在评论区帮忙指出&#xff0c;谢谢&#xff01; 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 统计概率的利剑&#xff1a;掌…

基于 STC89C52 的 8x8 点阵显示汉字

一、引言 在电子信息显示领域,汉字的直观呈现为信息传递带来极大便利。8x8 点阵虽显示空间有限,但通过合理设计,能够清晰展示一些常用、简单的汉字,丰富电子设备的交互界面。STC89C52 单片机作为一款经典且应用广泛的微控制器,以其成本低廉、易于开发的特性,成为驱动 8x…

二进制、八进制、十进制和十六进制间的转换(原理及工程实现)

在计算机科学和编程中&#xff0c;进制转换是一个非常重要的基础知识。无论是二进制、八进制、十进制还是十六进制&#xff0c;它们在不同的场景中都有广泛的应用。本文将详细介绍常用进制之间的转换方法&#xff0c;并附上C语言示例代码&#xff0c;帮助大家更好地理解和掌握这…

从零开始的 Kafka 学习(二)| 集群启动

1. 相关概念 1.1 代理&#xff1a;Broker 使用Kafka前&#xff0c;我们都会启动Kafka服务进程&#xff0c;这里的Kafka服务进程我们一般会称之为Kafka Broker 或 Kafka Server。因为Kafka是分布式消息系统所以再实际的生产环境中&#xff0c;是需要多个服务进程形成集群提供消…

python如何随机产生一堆数字并输出

python随机产生一堆数字并输出的方法&#xff1a; 通过for循环语句多次执行for循环里面的“random.randint()”函数产生随机数。将产生的随机数赋值给变量&#xff0c;输出这个变量就可以了 执行结果如下&#xff1a;

vue3与react、 react hooks

一、Vue3新特性&#xff1a;setup、ref、reactive、computed、watch、watchEffect函数、生命周期钩子、自定义hooks函数、toRef和toRefs、shallowReactive 与 shallowRef、readonly 与 shallowReadonly、toRaw 与 markRaw、customRef、provide 与 inject、Fragment、Teleport、…

《基于WebGPU的下一代科学可视化——告别WebGL性能桎梏》

引言&#xff1a;科学可视化的算力革命 当WebGL在2011年首次亮相时&#xff0c;它开启了浏览器端3D渲染的新纪元。然而面对当今十亿级粒子模拟、实时物理仿真和深度学习可视化需求&#xff0c;WebGL的架构瓶颈日益凸显。WebGPU作为下一代Web图形标准&#xff0c;通过显存直存、…

宠物医疗对接DeepSeek详细方案

基于DeepSeek本地化部署技术与医疗场景优化实践 一、核心架构设计 1. 本地化部署与数据安全 私有化服务器部署:将DeepSeek模型部署在宠物医院本地服务器,所有诊疗数据(如宠物病历、影像报告)均存储于院内,避免云端传输风险数据加密机制:采用AES-256加密算法对医疗数据加…

K8s 1.27.1 实战系列(一)准备工作

一、主机规划与硬件要求 1、节点数量 至少需要 3 台服务器(1 台 Master 节点,2 台 Worker 节点)。本地测试可缩容:若仅用于测试,可缩减为 1 个 Master 和 1 个 Worker,但需注意稳定性风险。2、硬件配置 ​Master 节点:建议 2 核 CPU、8GB 内存、80GB 硬盘。​Worker 节…

2.PSCAD是什么软件?

PSCAD&#xff08;Power Systems Computer Aided Design&#xff09;是一款功能强大的电力系统仿真软件&#xff0c;广泛应用于电力系统的建模、仿真和分析。它结合了电磁暂态仿真引擎EMTDC&#xff08;Electromagnetic Transients including DC&#xff09;&#xff0c;能够精…

Stable Diffusion模型Pony系列模型深度解析

Stable Diffusion模型Pony系列模型深度解析 一、技术架构与核心特性 基于SDXL的深度优化 Pony系列模型以SDXL为基础框架&#xff0c;通过针对二次元/动漫风格的微调&#xff0c;强化了在该领域的生成能力&#xff0c;同时保留了对写实场景的兼容性‌。其训练数据特别侧重于人…

FastGPT 引申:混合检索完整实例

文章目录 FastGPT 引申&#xff1a;混合检索完整实例1. 各检索方式的初始结果2. RRF合并过程3. 合并后的结果4. Rerank重排序后5. 最终RRF合并6. 内容总结 FastGPT 引申&#xff1a;混合检索完整实例 下边通过一个简单的例子说明不同检索方式的分值变化过程&#xff0c;假设我…

在MATLAB环境中,对矩阵拼接(Matrix Concatenation)的测试

在MATLAB环境中&#xff0c;对矩阵拼接&#xff08;Matrix Concatenation&#xff09;的正确性与鲁棒性开展测试时&#xff0c;需要依据不同的拼接场景精心设计测试用例&#xff0c;全面验证矩阵维度、数据顺序、边界条件以及异常处理等关键方面。以下是详尽的测试方法与具体示…

OpenFeign 学习笔记

OpenFeign 学习笔记 一、基础入门 1.1 简介 OpenFeign 是基于声明式的 REST 客户端&#xff0c;用于简化服务间远程调用。&#xff08;编程式 REST 客户端&#xff08;RestTemplate&#xff09;&#xff09; 通过接口注解方式定义 HTTP 请求&#xff0c;自动实现服务调用。 …

“沂路畅通”便利服务平台:赋能同城物流,构建高效畅通的货运生态

“沂路畅通”便利服务平台&#xff1a;赋能同城物流&#xff0c;构建高效畅通的货运生态 随着城市化进程的加速&#xff0c;同城物流需求迅速增长&#xff0c;然而货运过程中仍然存在信息不对称、资源浪费、司机服务体验差等痛点。临沂呆马区块链网络科技有限公司&#xff08;…

去除HTML有序列表(ol)编号的多种解决方案

以下是去除HTML有序列表(ol)编号的多种解决方案&#xff1a; <!DOCTYPE html> <html> <head> <style> /* 基础方案&#xff1a;完全移除编号 */ ol.no-number {list-style-type: none; /* 移除默认编号 */padding-left: 0; /* 移除默认缩进 */…

es如何进行refresh?

在 Elasticsearch 中,refresh 操作的作用是让最近写入的数据可以被搜索到。以下为你介绍几种常见的执行 refresh 操作的方式: 1. 使用 RESTful API 手动刷新 你可以通过向 Elasticsearch 发送 HTTP 请求来手动触发 refresh 操作。可以针对单个索引、多个索引或者所有索引进…

Leetcode 57: 插入区间

Leetcode 57: 插入区间 问题描述&#xff1a; 给定一个非重叠的区间集合 intervals&#xff08;按开始时间升序排列&#xff09;和一个新的区间 newInterval&#xff0c;将新的区间插入到区间集合中并合并重叠的部分&#xff0c;最后返回结果区间集合。 适合面试的解法&#x…

爬虫面试:关于爬虫破解验证码的13个经典面试题

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 1. ​什么是验证码(CAPTCHA)?它的作用是什么?2. ​常见的验证码类型有哪些?3. ​在爬虫开发中,遇到验证码时通常有哪些解决方案?4. ​如何使用第三方验证码识别服务?请举例说明。5. ​训练自己的验证码识别模型…

Kylin麒麟操作系统服务部署 | NFS服务部署

以下所使用的环境为&#xff1a; 虚拟化软件&#xff1a;VMware Workstation 17 Pro 麒麟系统版本&#xff1a;Kylin-Server-V10-SP3-2403-Release-20240426-x86_64 一、 NFS服务概述 NFS&#xff08;Network File System&#xff09;&#xff0c;即网络文件系统。是一种使用于…