华为OD机试 - 分积木(Java)

题目描述

Solo和koko是两兄弟,妈妈给了他们一大堆积木,每块积木上都有自己的重量。现在他们想要将这些积木分成两堆。哥哥Solo负责分配,弟弟koko要求两个人获得的积木总重量“相等”(根据Koko的逻辑),个数可以不同,不然就会哭,但koko只会先将两个数转成二进制再进行加法,而且总会忘记进位(每个进位都忘记)。如当25(11101)加11(01011)时,koko得到的计算结果是18(10010):

 11001
+01011
--------
 10010

Solo想要尽可能使自己得到的积木总重量最大,且不让koko哭。 

输入描述

第一行是一个整数N(2≤N≤100),表示有多少块积木;

第二行为空格分开的N个整数Ci(1≤Ci≤106),表示第i块积木的重量。

输出描述

如果能让koko不哭,输出Solo所能获得积木的最大总重量;否则输出“NO”。

用例

输入 3
3 5 6
输出
华为OD机试 - 叠积木(Java) 小橙想把这堆积木叠成一面墙,墙的每层可以放一个积木,也可以将两个积木拼接起来,要求每层的长度相同。输入为一行,为各个积木的长度,数字为正整数,并由空格分隔。积木的数量和长度都不超过5000。输出一个数字,为墙的最大层数,如果无法按要求叠成每层长度一致的墙,则输出-1。有一堆长方体积木,它们的宽度和高度都相同,但长度不一。若必须用完这些积木,叠成的墙最多为多少层? 阅读详情

相关推荐

【华为OD统一考试B卷 】 叠积木 python

小橙想把这堆积木叠成一面墙,墙的每层可以放一个积木,也可以将两个积木拼接起来,要求每层的长度相同。输入为一行,为各个积木的长度,数字为正整数,并由空格分隔。解释:以 6 为底的墙,第一层为 6 ,第二层为 3 + 3,第三层 3 + 3。输出一个数字,为墙的最大层数,如果无法按要求叠成每层长度一致的墙,则输出-1。背包问题,首先计算和sum,排序,选取最大的maxVal作为墙的第一层,有一堆长方体积木,它们的长度和宽度都相同,但长度不一。给定积木的长度,以空格分隔,例如:3 6 6 3。

qq_34443966的博客 200

华为OD机试 - 叠积木(Java)

本题要求最大的高度,那么一层的长度就要尽量小,而上面的length是从nums[0] ~ nums[0] + nums[1],因此一旦发现了遍历的length,可以让所有的积木搭建起来,那么该length就是最优的,即能够形成最大高度的。小橙想把这堆积木叠成一面墙,墙的每层可以放一个积木,也可以将两个积木拼接起来,要求每层的长度相同。输入为一行,为各个积木的长度,数字为正整数,并由空格分隔。积木的数量和长度都不超过5000。输出一个数字,为墙的最大层数,如果无法按要求叠成每层长度一致的墙,则输出-1。

qq_34143141的博客 393

【华为OD机试真题 Java语言】263、分积木 | 机试真题+思路参考+代码分析

>Solo和koko是两兄弟,妈妈给了他们一大堆积木,每块积木上都有自己的重量,现在他们想要将这些积木分成两堆,哥哥Solo负责分配,弟弟koko要求两个人获得的积木总重量"相等”(根据Koko的逻辑),个数可以不同,不然就会哭,但koko只会先将两个数转成二进制再进行加法,且总会忘记进位(每个进位都忘记),如当25 (11101) 加11 (01011) 时, koko得到的计算结果是18 (10010) : >`+01011--------` Solo想要尽可能使自己得到的积木总重最大,不让koko哭

KJ.JK 1271

华为od机试 2025 B卷 - 分积木 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025 B卷 分积木 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 408

华为OD机试 - 分积木问题的详细解读与多语言实现(C++、Java、JavaScript、Python)

在本文中,我们详细分析了华为OD机试中的分积木问题,并通过C++、Java、JavaScript和Python四种编程语言给出了完整的解题方案。这个问题的关键在于通过异或运算判断是否能够将积木平分,并计算Solo可以获得的最大积木总重量。通过代码示例与详细注释,读者可以清楚地理解这一算法问题的核心思路。参考资料华为OD机试题库LeetCode 二进制运算相关题目。

m0_57781768的博客 561

【华为OD机试真题】263、分积木 | 机试真题+思路参考+代码分析(C++、Java、Py)

目描述 >Solo和koko是两兄弟,妈妈给了他们一大堆积木,每块积木上都有自己的重量,现在他们想要将这些积木分成两堆,哥哥Solo负责分配,弟弟koko要求两个人获得的积木总重量"相等”(根据Koko的逻辑),个数可以不同,不然就会哭,但koko只会先将两个数转成二进制再进行加法,且总会忘记进位(每个进位都忘记),如当25 (11101) 加11 (01011) 时, koko得到的计算结果是18 (10010) : >`+01011--------` Solo想要尽可能使自己得到的积木总重最大,不让ko

KJ.JK 1510

华为OD机试 - 分积木(C++ Java JavaScript Python)

和koko是两兄弟,妈妈给了他们一大堆积木,每块积木上都有自己的重量。现在他们想要将这些积木分成两堆。哥哥Solo负责分配,弟弟koko要求两个人获得的积木总重量“相等”(根据Koko的逻辑),个数可以不同,不然就会哭,但koko只会先将两个数转成二进制再进行加法,而且总会忘记进位(每个进位都忘记)。如果能让koko不哭,输出Solo所能获得积木的最大总重量;第二行为空格分开的N个整数Ci(1≤Ci≤106),表示第i块积木的重量。Solo想要尽可能使自己得到的积木总重量最大,且不让koko哭。

算法大师! 3111

华为OD机试 双机位A卷 - 分积木 (Python & C++ & JAVA & JS & GO)

华为OD机试双机位A卷 分积木,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。

qq_45776114的博客 482

华为OD机试2025C卷 - 分积木 (C++ & Python & JAVA & JS & GO)

华为OD机试 2025C卷 分积木,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 525

华为OD机试 - 分积木 - 二进制运算(Java 2025 B卷 200分)

Solo 和 koko 是两兄弟,妈妈给了他们一大堆积木,每块积木上都有自己的重量。,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。如果能让 koko 不哭,输出 Solo 所能获得积木的最大总重量;第二行为空格分开的 N 个整数Ci(1≤Ci≤106),表示第 i 块积木的重量。Solo 想要尽可能使自己得到的积木总重量最大,且不让 koko 哭。

学Java,找哪吒 2081

华为OD机试 - 相同数字的积木游戏1(Java 2024 E卷 100分)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的2块积木块,计算他们的距离。他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。接下来N行每行一个数字,表示小华排成一排的积木上数宇。第一行输入为N,表示小华排成一排的积木总数。小华和小薇一起通过玩积木游戏学习数学。如果所有积木数字都不相同,请返回-1。很明显,距离最远的相同的数是1。相同数宇的积木的位置最远距离;0

学Java,找哪吒 900

华为OD机试 - 积木最远距离(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题。

学Java,找哪吒 891

华为OD机试 - 叠积木1 - 双指针(Java 2025 C卷 200分)

小橙想把这堆积木叠成一面墙,墙的每层可以放一个积木,或将两个积木拼接起来,要求每层的长度相同。,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。输入为一行,为各个积木的长度,数字为正整数,并由空格分隔。输出一个数字,为墙的最大层数,如果无法按要求叠成每层长度一致的墙,则输出-1。每层可以放一个积木,或将两个积木拼接起来,要求每层的长度相同。

学Java,找哪吒 1169

【2024年华为OD机试】 (B卷,200分)- 分积木(Java & JS & Python&C/C++)

本题的核心是理解Koko的计算逻辑是按位异或。通过计算所有积木的按位异或和,判断是否可以平分重量。如果可以平分,则让Koko获得最轻的一块积木,Solo获得剩余的最大重量。时间复杂度为(O(N)),空间复杂度为(O(1))。代码通过按位异或和累加和的计算,判断是否可以按Koko的逻辑平分重量。如果可以平分,则Solo获得的最大重量为总重量减去最轻的积木重量。时间复杂度为(O(N\logN))(排序),空间复杂度为(O(1))。

嵌入式技术开发 996

硬件-汽车电子-TBOX/TCAM核心器件选型与系统集成设计指南

本文深入解析汽车电子TBOX/TCAM硬件架构与系统集成设计,涵盖核心器件选型、电源管理、信号完整性优化等关键点。重点分享5G模组选型避坑经验、MCU隐性指标及热设计验证方案,为车载通信系统开发提供实用指南。

weixin_30352645的博客 531

24、水下传感器网络中混合LEACH协议与遗传算法获取路由节点

本文提出了一种结合遗传算法与LEACH协议的混合路由方案,用于提升水下无线传感器网络(UWSN)的能量利用效率和数据传输稳定性。通过遗传算法优化簇头选择与路径规划,有效避免节点过早死亡,减少能量消耗,在200个节点场景下显著提升网络寿命。相比传统LEACH协议,该方案具有更高的能量利用率、更强的环境适应性,并支持传输历史记录与并行传输序列。实验结果显示,该方案在总能量为2000焦耳时剩余能量达75.6%,远优于LEACH的34.8%能耗表现。适用于海洋监测、石油平台监控及水下灾害预警等复杂环境应用。

i8j9k0l1的博客 112

最新Python爬虫实战(入门爬虫篇)——案例3:爬取二次元cos图片批量下载到本地(附上完整爬虫代码)

本次案例通过Python爬虫技术实现了二次元图片的批量下载。代码采用模块化设计,函数实现cookies的自动解析,简化了配置流程,涵盖“请求列表页→提取详情页URL→请求详情页→提取图片链接→保存图片”的完整流程,与豆瓣案例的核心逻辑和格式完全对齐。学习重点包括:抓包工具定位多层级数据源、正则表达式匹配复杂链接、模拟请求头绕过反爬机制、文件名安全处理及自动化文件管理。需要注意控制请求频率并遵守网站使用规范,适用于入门爬虫实践,帮助学习者掌握多层级页面爬取的核心逻辑。

努力让自己发光,对的人才能迎着光而来 14万+

Spatial-ORMLLM: Improve Spatial Relation Understanding in the Operating Room with Multimodal Larg...

手术室(OR)中的精准空间建模是众多临床任务的基础,可为术中感知、风险规避及手术决策提供支持。现有方法虽利用大规模多模态数据集进行 latent 空间对齐,以隐式学习空间关系,但却忽视了多模态大型语言模型(MLLM)的3D能力。然而,这种方法存在两个问题:1)手术室通常缺乏多台视频和音频传感器,多模态3D数据难以获取;2)仅依赖易获取的2D数据训练,无法捕捉复杂场景中的细粒度细节。为解决这一问题,我们提出——首个针对手术室3D空间推理的大型视觉语言模型。

UnknownBody_2的博客 592

本地快速部署谷歌开放模型Gemma教程(基于Ollama)

谷歌最近发布了新一代开源AI模型Gemma,此次发布的 Gemma 相比自家的 Gemini 更加轻量级,模型权重也一并开源。不仅可以在笔记本电脑上运行,而且还免费可商用,支持中文。运行速度飞快。

特立独行的博客 6716

16、Arduino MEGA 2560 固件与电路详解

本文详细介绍了Arduino MEGA 2560的固件编程与电路设计,涵盖ATmega16U2和ATmega2560的熔丝配置、stk500v2引导加载程序的备份与恢复方法、使用Microchip Studio通过ICSP烧录固件的步骤,以及debugWIRE和JTAG调试接口的选择与配置。同时提供了电路块图解析、组件位置参考及常见问题解决方案,帮助用户深入理解硬件结构并进行高效开发与调试。

swift5iosmith的博客 195

水文仿真软件:HEC-RAS (Hydrologic Engineering Center‘s River Analysis System)_(7).一维非稳态水力模型

自定义脚本是通过编程语言(如 Python)编写的一系列自动化任务,可以帮助用户更高效地处理数据和运行模型。编写脚本:使用 Python 或其他编程语言编写自定义脚本。集成脚本:将脚本集成到 HEC-RAS 中,实现自动化数据处理和模型运行。

kkchenjj的博客 933

华为OD机试真题 新系统 2026-05-13 Python&JS语言 实现【查找能被整除的最大整数】

给定一个字符串和一个正整数,字符串由大小写字母和数字组成,要求从字符串中找出最大且能被给定正整数整除的数。

MISAYAONE的博客 226

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 华为OD机试 - 数组二叉树(Java)
下一篇: 华为OD机试 - 字符匹配(Java)
清水乐园
博客等级 码龄13年 175粉丝 398原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清水乐园

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值