2023年华为OD机试(python)B卷-符合要求的结对方式

一、题目

题目描述:

用一个数组A代表程序员的工作能力,公司想通过结对编程的方式提高员工的能力,假设结对后的能力为两个员工的能力之和,求一共有多少种结对方式使结对后能力为N。

二、输入输出

输入描述:
5
1 2 2 2 3
4
第一行为员工的总人数,取值范围[1,1000]
第二行为数组A的元素,每个元素的取值范围[1,1000]
第三行为N的值,取值范围[1,1000]
输出描述:
4
满足结对后能力为N的结对方式总数。

三、示例

示例1 

输入输出示例仅供调试,后台判题数据一般不包含示例
输入:
5
1 2 2 2 3
4
输出:
4
说明:
满足要求的结对方式为:A[0]和A[4],A[1]和A[2],A[1]和A[3],A[2]和A[3]。

四、要求

时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K

五、解题思路

  1. 首先,我们需要统计数组arr中每个元素的出现次数,可以使用一个字典freq来实现,其中字典的键是元素的值,字典的值是元素的出现次数。
  2. 然后,我们遍历数组arr中的每个元素num,对于每个元素,我们计算与之配对后的能力值complement,即target - num
  3. 如果complement存在于字典freq中,说明存在一种配对方式使得两个员工的能力之和为target。此时,我们将字典freqcomplement对应的值加到计数器count上。
  4. 注意,如果complementnum相等,说明当前元素可以与自己配对,但是每个元素只能被计数一次,所以需要将计数器count减去1。
  5. 最后,结对方式总数为计数器count除以2(因为每对结对方式会被计算两次)。
  6. 返回计数器count作为结果,即满足结对后能力为target的结对方式总数。

六、参考代码 

# -*- coding: utf-8 -*-
'''
@File    :   2023-B-符合要求的结对方式.py
@Time    :   2023/12/28 00:56:22
@Author  :   mgc 
@Version :   1.0
@Desc    :   None
'''def countPairings(n, arr, target):count = 0  # 计数器,用于记录满足结对后能力为target的结对方式总数# 创建一个字典,用于统计数组arr中每个元素的出现次数freq = {}for num in arr:freq[num] = freq.get(num, 0) + 1# 遍历数组arr中的每个元素for num in arr:complement = target - num  # 计算与当前元素配对后的能力值# 如果配对的能力值存在于数组arr中if complement in freq:count += freq[complement]  # 更新计数器,增加配对方式的数量# 如果配对的能力值与当前元素相等,需要将当前元素的出现次数减一if complement == num:count -= 1# 结对方式总数为计数器count除以2(因为每对结对方式会被计算两次)return count // 2# 测试代码
n = int(input())  # 员工的总人数
arr = list(map(int, input().split()))  # 数组A的元素
target = int(input())  # 目标能力值Nresult = countPairings(n, arr, target)
print(result)

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

《网络是怎样连接的》2.1节图表(自用)

图3.1:协议栈的组成 图3.2:netstat命令查看套接字 上图中每一行就是一个套接字 图3.3:协议栈在浏览器访问DNS服务器与web服务器时的具体工作流程 套接字由协议栈创建 应用程序通过Socket库中的程序组件与协议栈交互

Amphion tts(Text to Speech) 语音合成

强烈推荐使用带 GPU 的 Ubuntu 或 Centos 系统运行,可以租一个比较便宜的机器实例运行,如AutoDL 有了机器我们就可以按步骤操作了 step1 模型下载 git clone https://github.com/open-mmlab/Amphion.git cd Amphionstep2 下载训练好的模型文件 huggin…

OR-3120——IGBT驱动光耦,替代HCPL-3120,FOD3120,TLP250H等等

具有MOSFET高输入阻抗和GTR低导通压降特性提供隔离反馈 高隔离电压 3.0A输出电流 工业温度范围:–40C 至 110C 宽工作 VCC 范围 特点: VCM 1500V 时最小共模抑制 (CMR) 为 35 kV/μs 最大低电平输出电压 (VOL&…

服务端如何防止订单重复支付

服务端如何防止订单重复支付? 概述为了防止掉单,这里可以这样处理:为了防止订单重复提交,可以这样处理:附上微信支付最佳实践: 概述 如图是一个简化的下单流程,首先是提交订单,然后…

有效解决vcruntime140_1.dll丢失的问题,关于vcruntime140_1.dll文件

今天在使用电脑的过程中突然提示找不到vcruntime140_1.dll,出现这样的提示后,想要在打开程序时,有再一次提示找不到vcruntime140_1.dll,不能在正常打开程序,那么有什么办法可以解决vcruntime140_1.dll丢失的问题呢&…

第十章 Bus信息总线

Bus信息总线 gitee:springcloud_study: springcloud:服务集群、注册中心、配置中心(热更新)、服务网关(校验、路由、负载均衡)、分布式缓存、分布式搜索、消息队列(异步通信)、数据库集群、分布…

【PyQt】(自定义类)QIcon派生,更易用的纯色Icon

嫌Qt自带的icon太丑,自己写了一个,主要用于纯色图标的自由改色。 当然,图标素材得网上找。 Qt原生图标与现代图标对比: 没有对比就没有伤害 Qt图标 网络素材图标 自定义类XJQ_Icon: from PyQt5.QtGui import QIc…

Java连接Mysql报错:javax.net.ssl.SSLException: Received fatal alert: internal_error

大致报错日志如下: The last packet successfully received from the server was 11 milliseconds ago. The last packet sent successfully to the server was 10 milliseconds ago.at sun.reflect.GeneratedConstructorAccessor275.newInstance(Unknown Source)…

Jackson—Anti-Human IgE Antibodies

Jackson lmmunoResearch推出一系列适用于诊断试剂研发的Mouse Monoclonal Anti-Human IgE antibodies(小鼠抗人IgE单克隆抗体),补充了Jackson现有的抗人lgG、IgM和lgA抗体产品,抗人IgE可与一系列特定的报告分子偶联(如…

HTML+CSS+JS网页设计期末课程大作业 web课程设计 web前端开发 网页规划与设计

HTMLCSSJS网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计 💥 文章目录一、🚩 网站描述二、🎌 网站介绍三、🏴 网站类型A 个人博客主题B 人物明星主题C 旅游主题D 游戏主题E 动漫主题F 美食主题G 校园主题H 企…

HTML5+CSS3小实例:左右摇晃的输入框

实例:左右摇晃的输入框 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge">&l…

网页设计期末 建筑博物馆首页 HTML+CSS+js 完整代码(轮播图+瀑布流)

文章目录 前言&#xff1a;完整代码在总结处跳转&#xff01;&#xff01;&#xff01; 描述&#xff1a;结果展示&#xff1a;部分代码演示&#xff1a;&#xff08;完整代码在总结处跳转&#xff09;总结&#xff1a;&#xff08;完整代码在此处跳转&#xff09; 前言&#x…

Unity C# Mp3 Mp4 音频 视频 合成

需求 将声音文件合并到视频中 限制 暂时只支持Windows使用 准备 下载ffmpeg.exe 解压后得到exe https://ffmpeg.org/download.html#releases 注意事项&#xff1a; 目录要在一起 代码 public void StartExe(){if (File.Exists(ffmpegExe)){ string mp4;string mp3;//…

Python爱心光波完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

数据库开发之子查询案例的详细解析

1.5 案例 基于之前设计的多表案例的表结构&#xff0c;我们来完成今天的多表查询案例需求。 准备环境 将资料中准备好的多表查询的数据准备的SQL脚本导入数据库中。 分类表&#xff1a;category 菜品表&#xff1a;dish 套餐表&#xff1a;setmeal 套餐菜品关系表&#x…

盘点2023年Sui游戏领域的五大亮点

在不断发展的Web3游戏领域中&#xff0c;Sui作为一个强大的平台&#xff0c;为游戏行业的转型之旅开辟了独特的道路。Sui独特的网络架构提供了可扩展性和高吞吐量&#xff0c;使得区块链环境下的游戏成为可能。Sui原生功能的应用&#xff0c;如赞助交易&#xff0c;显著简化了游…

湘潭大学-2023年下学期-c语言-作业0x0a-综合1

A 求最小公倍数 #include<stdio.h>int gcd(int a,int b) {return b>0?gcd(b,a%b):a; }int main() {int a,b;while(~scanf("%d%d",&a,&b)){if(a0&&b0) break;printf("%d\n",a*b/gcd(a,b));}return 0; }记住最大公约数的函数&…

2024年科技行业十大经济预测

当我们站在新的一年的风口浪尖上时&#xff0c;科技行业正准备迎接重大变革和创新&#xff0c;这些变革和创新将塑造2024年的经济格局。以下是未来一年科技行业的十大经济预测。 低代码&#xff1a;低代码和无代码平台从 3 年前开始被大规模的应用&#xff0c;发展到现在已经逐…

cf918div4的E题讲解

虽然是div4&#xff0c;但是打的稀烂&#xff0c;哭死。 E题看了jiangly的题解豁然开朗&#xff0c;原来思路这么简单。被自己蠢到了&#xff0c;我傻傻的用前缀和&#xff0c;两层for枚举区间&#xff0c;不出意外TLE了&#xff0c;写的那一刻就知道要超时&#xff0c;但是没…

AVL树(超详解)

文章目录 前言AVL树的概念AVL树的实现定义AVL树insert 单旋左单旋右单旋左单旋代码右单旋代码 双旋左右双旋右左双旋 测试AVL树的性能 前言 AVL树是怎么来的呢&#xff1f; 我们知道搜索二叉树会存在退化问题&#xff0c;退化以后就变成单支或者接近单支。 它的效率就变成O(N)…