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

华为OD机试(C卷,100分)- 游戏分组

题目描述

部门准备举办一场王者荣耀表演赛,有 10 名游戏爱好者参与,分为两队,每队 5 人。
每位参与者都有一个评分,代表着他的游戏水平。为了表演赛尽可能精彩,我们需要把 10 名参赛者分为示例尽量相近的两队。
一队的实力可以表示为这一队 5 名队员的评分总和。
现在给你 10 名参与者的游戏水平评分,请你根据上述要求分队,最后输出这两组的实力差绝对值。
例:10 名参赛者的评分分别为:5 1 8 3 4 6 7 10 9 2,分组为(1 3 5 8 10)和(2 4 6 7 9),两组实力差最小,差值为1。有多种分法,但是实力差的绝对值最小为1。

输入描述

10个整数,表示10名参与者的游戏水平评分。范围在 [1, 10000] 之间。

输出描述

1个整数,表示分组后两组实力差绝对值的最小值。

用例

输入 1 2 3 4 5 6 7 8 9 10
输出 1
说明 10名队员分为两组,两组实力差绝对值最小为1

题目解析

  1. dfs 函数是一个深度优先搜索的实现,它用于找出所有可能的 5 个数字的组合和。

  2. dfs 函数中:

    • level 达到 5 时,说明找到了一个完整的组合,将其加入到 res 数组中,并更新 resSize
    • 否则,遍历数组 arr 中剩余的数字,递归调用 dfs 函数,并将当前数字加入到 sumV 中。
    • 为了避免重复,在遍历时跳过与前一个数字相同的数字。
  3. cmp 函数是一个比较函数,用于对数组 arr 进行排序。

  4. getResult 函数是整个程序的主要逻辑:

    • 首先分配一个足够大的 res 数组,用于存储所有可能的组合和。
    • 调用 dfs 函数,找出所有可能的组合和,并存储在 res 数组中。
    • 计算数组 arr 的总和 sum
    • 遍历 res 数组,计算每个组合和与 sum 的差的绝对值,并更新最小差值 minDiff
    • 最后释放 res 数组的内存,并返回最小差值 minDiff
  5. main 函数负责读取输入数组 arr、调用 getResult 函数,并输出结果。

总的来说,这个程序使用了深度优先搜索和数组排序等技术,来找出使两个团队总分差值最小的方案。它的时间复杂度和空间复杂度都与输入数组的大小有关,但由于数组大小固定为 10,所以算法的复杂度是可以接受的。

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>void dfs(int *arr, int index, int level, int sumV

相关文章:

华为OD机试(C卷,100分)- 游戏分组

题目描述 部门准备举办一场王者荣耀表演赛,有 10 名游戏爱好者参与,分为两队,每队 5 人。 每位参与者都有一个评分,代表着他的游戏水平。为了表演赛尽可能精彩,我们需要把 10 名参赛者分为示例尽量相近的两队。 一队的实力可以表示为这一队 5 名队员的评分总和。 现在给你…...

centos7.9系统按cloudpods

1. 简介&#xff1a; Cloudpods 是一款简单、可靠的企业IaaS资源管理软件。帮助未云化企业全面云化IDC物理资源&#xff0c;提升企业IT管理效率。 Cloudpods 帮助客户在一个地方管理所有云计算资源。统一管理异构IT基础设施资源&#xff0c;极大简化多云架构复杂度和难度&…...

android apk 加固后的地图加载异常及重新签名

1.首先根据需求将打包生成后的APK进行加固&#xff0c;可以使用360、阿里、腾讯加固等。 2.加固后的APK无法直接安装&#xff0c;需要重新进行签名。 3.首先找到sdk的位置&#xff0c;进入build-tools目录。 4.根据gradle文件选择版本目录。 5.将加固后的APK放至该目录下。在…...

手把手搭建私人在线备份系统

对于打工人来说&#xff0c;什么文件最重要&#xff1f; 那就是——打不开的文件最重要&#xff01; 那么&#xff0c;如何才能避免这样的事情发生呢&#xff1f;这时候就需要使出我们的大杀器——文件备份&#xff01; 文件备份怎么搞才最合适呢&#xff1f; 是使用移动硬盘&a…...

数据分析实操案例分享:如何对人事数据进行BI分析?

在数据驱动时代&#xff0c;数据分析已经成为企业和个人获取竞争优势的关键技能。特别是在人力资源管理领域&#xff0c;数据分析的应用正变得越来越重要。通过对在职和离职数据的深入分析&#xff0c;企业不仅能够洞察员工的动态&#xff0c;揭示员工流动的模式、预测人才需求…...

谷粒商城实战笔记-228-商城业务-认证服务-自定义SpringSession完成子域session共享

文章目录 一&#xff0c;228-商城业务-认证服务-自定义SpringSession完成子域session共享1. cookieSerializer()2. springSessionDefaultRedisSerializer() 一&#xff0c;228-商城业务-认证服务-自定义SpringSession完成子域session共享 前面弄清楚了分布式服务中的两个问题&…...

Elasticsearch核心

一、几个核心概念 1、节点&#xff1a;一个节点&#xff08;Node&#xff09;就是一个es进程&#xff0c;一个服务器可以部署多个节点 查询节点以及节点信息&#xff1a; http://127.0.0.1:9200/_cat/nodes?v 2、角色&#xff0c;是指节点在集群中担任什么角色&#xff1a…...

Python.NET:打开Python与.NET世界互通的大门

Python.NET 是一个强大的工具&#xff0c;它为 Python 程序员提供了一种与 .NET 公共语言运行时 (CLR) 无缝集成的途径。它就像一座桥梁&#xff0c;将 Python 的灵活性与 .NET 的强大功能连接起来&#xff0c;为开发者提供了前所未有的自由和可能性。 1. Python.NET 的核心价值…...

uniapp - plugins的组件配置使用

点击进入到uniapp中mp-weixin的配置中 点击进入小程序的plugin的配置 在项目中&#xff0c;我们可引用插件的使用&#xff0c;例如一些快递100&#xff0c;点餐插件的业务引入 添加插件 在使用插件前&#xff0c;首先要在小程序管理后台的“设置-第三方服务-插件管理”中添加…...

Microsoft Edge WebView2 截图

使用工具可以保存可见区域 CallDevToolsProtocolMethodAsync("Page.captureScreenshot", Params) always returns only visible part of html page including scrollbars. I tried all possible combinations of "fromSurface" and "captureBeyondVi…...

[word] 复杂文本如何仅全选word中的表格 (简单跟做即可)

问题描述 在word文档中&#xff0c;有各种形式的文本&#xff0c;有纯文本&#xff0c;有表格&#xff0c;有图片或者更多其它形式参杂在一起&#xff0c;本篇记录解决如何只全选中文档中的所有表格形式的部分&#xff0c;从而方便对表格进行批量修改和操作 环境说明 word版…...

Aop切面编程

学习视频 一、定义模型&#xff1a;订单保存模型&#xff0c;订单更新模型&#xff0c;业务层&#xff0c;日志模型 订单保存模型 /*** author durunwu* date 2024-08-20-21:04*/ Data public class SaveOrder {private Long id; }订单更新模型 /*** author durunwu* date …...

目标检测 | yolov9 原理和介绍

相关系列&#xff1a; 目标检测 | yolov1 原理和介绍 目标检测 | yolov2/yolo9000 原理和介绍 目标检测 | yolov3 原理和介绍 目标检测 | yolov4 原理和介绍 目标检测 | yolov5 原理和介绍 目标检测 | yolov6 原理和介绍 目标检测 | yolov7 原理和介绍 目标检测 | yolov8 原理和…...

如何在不格式化的情况下解锁Android智能手机密码

如果您忘记了密码&#xff0c;您的 Android 移动设备会将您锁定。发生这种情况时&#xff0c;通常可以通过执行恢复出厂设置来重新获得对设备的访问权限。可悲的是&#xff0c;这将导致所有数据的丢失。下面列出了在不丢失任何个人数据的情况下解锁锁定的Android 手机的有效方法…...

ts语法、nvm的使用以及github访问速度

TS基础语法 let aa:string "123" let bb:number 123 let cc:boolean true let dd:undefined undefined let ee:null null let list:Array<string> ["1", 2, 3] let list2:string[] ["1", 2, 3]interface Ibj {name: string,age: n…...

缓存实现方式

缓存是一个常见的话题&#xff0c;因为它对于提高应用程序性能至关重要。缓存是一种存储数据的临时地方&#xff0c;以便快速访问数据&#xff0c;减少对原始数据源&#xff08;如数据库或文件系统&#xff09;的访问次数&#xff0c;从而提高应用程序的响应速度和吞吐量。 Jav…...

鸿蒙内核源码分析(中断切换篇) | 系统因中断活力四射

关于中断部分系列篇将用三篇详细说明整个过程. 中断概念篇 中断概念很多&#xff0c;比如中断控制器&#xff0c;中断源&#xff0c;中断向量&#xff0c;中断共享&#xff0c;中断处理程序等等.本篇做一次整理.先了解透概念才好理解中断过程.用海公公打比方说明白中断各个概念…...

回归预测|基于雪消融优化相关向量机的数据回归预测Matlab程序SAO-RVM 多特征输入单输出 SAO-RVM

回归预测|基于雪消融优化相关向量机的数据回归预测Matlab程序SAO-RVM 多特征输入单输出 SAO-RVM 文章目录 前言回归预测|基于雪消融优化相关向量机的数据回归预测Matlab程序SAO-RVM 多特征输入单输出 SAO-RVM 一、SAO-RVM模型1. 基本模型原理2. 贝叶斯框架3. 模型优化流程4. 总…...

如何在HTML中创建链接?什么是CSS定位?什么是CSS优化?

HTML使用标签 <a> 来设置超文本链接。 超链接可以是一个字&#xff0c;一个词&#xff0c;或者一组词&#xff0c;也可以是一幅图像&#xff0c;您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。 当您把鼠标指针移动到网页中的某个链接上时&#xff0c;箭…...

1.Java:集合

集合作用&#xff1a; 1.动态保存任意多个对象。 2.提供操作对象方法比如add,remove,set,get等方法。 3.使用集合添加&#xff0c;删除代码简洁。 集合分类 集合分为单列集合以及双列集合。 单列集合&#xff1a; 双列集合&#xff1a; Collection接口特点 1.Collection…...

Ubuntu下USRP X300 FPGA固件降级实录:从‘need 38 but got 39’报错到完美兼容GNURadio

Ubuntu下USRP X300 FPGA固件降级实战&#xff1a;从版本冲突到完美兼容GNURadio的完整指南 当USRP X300的FPGA固件版本与GNURadio所需的版本不匹配时&#xff0c;终端里那个刺眼的"need 38 but got 39"报错足以让任何软件无线电开发者抓狂。这种版本冲突问题在Ubuntu…...

OpenClaw多模态实践:Qwen3.5-9B-VL图文报告自动生成

OpenClaw多模态实践&#xff1a;Qwen3.5-9B-VL图文报告自动生成 1. 为什么需要多模态自动化 去年整理学术文献时&#xff0c;我每天要手动截取论文图表、复制关键数据、整理成Markdown笔记。这个过程不仅耗时&#xff0c;还经常漏掉重要细节。直到发现OpenClaw可以对接Qwen3.…...

Part 1:Python 语言核心 - 变量与命名规则

Python 基础语法 - 变量与命名规则 一、python 变量的真实模型变量 名字&#xff08;name&#xff09;→ 对象&#xff08;object&#xff09;的“绑定关系”python 中变量本身不存值&#xff0c;值永远存储在对象里&#xff0c;变量只是标签/引用。 a 10底层语义等价于&…...

OpenClaw节日营销助手:gemma-3-12b-it自动生成祝福语与发送邮件

OpenClaw节日营销助手&#xff1a;gemma-3-12b-it自动生成祝福语与发送邮件 1. 为什么需要节日营销自动化&#xff1f; 去年端午节前夜&#xff0c;我盯着电脑屏幕上的200多个客户邮箱地址发呆。每个客户都需要个性化的节日祝福&#xff0c;但手动编写和发送至少需要6小时。当…...

松下Panasonic伺服调试软件 适配MINAS-A/A3/A4/B/E/S及MDDA/MH...

松下Panasonic 伺服调试 软件 支持MINAS-A A3 A4 B E S 英文版 MDDA、MHDA、MSMA、MSDA、MDMA、可以修改参数、JOG点动调试、参数拷贝、复制等 松下 伺服 软件刚拿到台新拆箱的MHDA-MA3A1A伺服驱动器&#xff1f;或者翻出实验室积灰好几年的MSMA电机搭MDDA A1板子练手&#xff…...

OpenClaw家装设计:Qwen2.5-VL-7B根据户型图生成3D效果示意图

OpenClaw家装设计&#xff1a;Qwen2.5-VL-7B根据户型图生成3D效果示意图 1. 为什么选择OpenClaw做家装设计自动化 去年装修新房时&#xff0c;我花了大量时间在设计师和施工队之间来回沟通。每次修改设计方案都需要等待设计师重新出图&#xff0c;周期长、成本高。直到发现Op…...

能源在线监测管理系统平台[fu源码]

EMS能源管理系统 基于 Vue3 / Spring Boot/Spring Cloud & Alibaba 微服务架构 项目技术框架 RuoYi-Cloud 基础框架上开发而成 源智优控AI能源大脑&#xff0c;能源AI版&#xff0c;即将上线 仓库地址&#xff1a; https://gitee.com/guangdong122/energy-management …...

linux系统中简单统计java项目代码行数信息

新建脚本文件&#xff08;最好在项目根目录下&#xff09;&#xff1a;count_java.shvi count_java.sh编辑内容&#xff1a;按一下键盘上的i键&#xff0c;屏幕左下角会出现 -- INSERT --&#xff0c;输入一下内容&#xff1a; #!/bin/bash find . -name "*.java" -p…...

【原创改进代码】考虑电动汽车移动储能特性的多区域电网功率波动平抑优化调控附python代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子…...

如何用MicroSIP实现远程办公通话?2024最新SIP协议设置指南

2024远程办公通话实战&#xff1a;MicroSIP高级配置与网络优化全攻略 远程办公已成为现代企业运营的标配&#xff0c;而稳定高效的语音通信系统则是团队协作的基石。作为一款轻量级开源SIP客户端&#xff0c;MicroSIP凭借其低延迟、高兼容性和零成本优势&#xff0c;正在成为中…...