首页 > 编程语言 >2024年华为OD机试真题-结队编程 -(C++/Java/python)-OD统一考试(C卷D卷)

2024年华为OD机试真题-结队编程 -(C++/Java/python)-OD统一考试(C卷D卷)

时间:2024-07-30 21:24:00浏览次数:17  
标签:职级 小组 结队 level python OD 员工 rightmax 真题

 2024华为OD机试真题目录-(B卷C卷D卷)-【C++ Java Python】

题目描述

某部门计划通过结队编程来进行项目开发

已知该部门有 N 名员工,每个员工有独一无二的职级,每三个员工形成一个小组进行结队编程,结队分组规则如下:

从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分贝为 level[i],level[j],level[k],

结队小组满足 level[i] < level[j] < level[k] 或者 level[i] > level[j] > level[k],

其中 0 ≤ i < j < k < n。

请你按上述条件计算可能组合的小组数量。同一员工可以参加多个小组。

输入描述

第一行输入:员工总数 n

第二行输入:按序号依次排列的员工的职级 level,中间用空格隔开

限制:

  • 1 ≤ n ≤ 6000
  • 1 ≤ level[i] ≤ 10^5

输出描述

可能结队的小组数量

用例1

输入

4
1 2 3 4

输出

4

说明

可能结队成的组合(1,2,3)、(1,2,4)、(1,3,4)、(2,3,4)

用例2 

输入

3
5 4 7

输出

0

说明

根据结队条件,我们无法为该部门组建小组

解题思路

本题的解题思路有些巧妙,把每个员工作为中间变量时的结对数加起来,就可以得到总的结对数量。员工i位于中间的结队数的计算方法为:设员工i

左边比他职级小的人数为:leftmin

左边比他职级大的人数为:leftmax

右边比他职级小的人数为:rightmin

右边比他职级大的人数为:rightmax

那么,员工i位于中间的结队数为:leftmin*rightmax+leftmax*rightmin

求解上述四个变量值的方法,可以用双重循环,用一个数组[leftmin,leftmax,rightmin,rightmax]存储每一员工的信息。

代码

标签:职级,小组,结队,level,python,OD,员工,rightmax,真题
From: https://blog.csdn.net/dijkstra2023/article/details/140739233

相关文章

  • Centos7 安装 Python3环境,兼容python2
     一、安装Python3查看是否已经安装Python。Centos7默认安装了python2.7.5.因为一些命令要用它比如yum它使用的是python2.7.5。使用python-V命令查看一下是否安装Python。 然后使用命令whichpython查看一下Python可执行文件 安装依赖yuminstallzlib-develbz......
  • Python 69个 常用 内置函数 之 总结+实例 篇
    1.abs()返回一个数的绝对值print(abs(-5))#输出5print(abs(5))#输出52.dict()创建一个字典my_dict=dict(name="Alice",age=25)print(my_dict)#输出{'name':'Alice','age':25}3.help()用于获取关于对象的帮助信息help(......
  • Python面向对象浅析
    目录面向对象基本概念一、类和对象类和对象是面向对象骗程的两个核心概念。在程序开发中,要设计一个类,通常需要满足一下三个要素:self详解:对象(Object)魔法方法:类里的一些特殊方法__init__和__del__方法:repr__和__str运算符的相关魔法方法:__eq__方法类属性和对象属......
  • Python - String representation of an instance object
    Themagicmethods__str__and__repr__areusedforconvertinganinstanceobjectintoastring.Themethod__str__isinvokedwhenaninstanceobjectisconvertedtoastringbycallingthestrbuilt-infunction.Itisalsoinvokedwhenaninstanceobjec......
  • 环境变量和python多版本共存,视图层源码分析,视图层总结,路由层,
    Ⅰ环境变量和python多版本共存【一】环境变量【1】什么是环境变量无论是win,mac,linux都有环境变量的概念,以win为例什么是环境变量?环境变量(environmentvariables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量是在......
  • Python面试题:如何使用Django Rest Framework构建RESTful API
    使用DjangoRestFramework(DRF)构建RESTfulAPI是一个常见且强大的方法。以下是一个详细的指南,帮助你从头开始创建一个基本的Django项目,并使用DRF构建一个RESTfulAPI。环境准备安装Django和DjangoRestFramework:pipinstalldjangodjangorestframewor......
  • python高性能计算:cython入门代码
    三种实现的对比:(1)纯pythonx.pydefis_prime(num):forjinrange(2,num):if(num%j)==0:returnFalsereturnTrueimporttimea=time.time()foriinrange(10,100000):is_prime(i)b=time.time()print(b-a)(2)x2.py......
  • 【第二节】python编程基础语法
    目录一、运算符介绍1.1算术运算符1.2比较运算符1.3赋值运算符1.4位运算符1.5逻辑运算符1.6成员运算符1.7身份运算符二、python运算符优先级三、三大流程结构四、列表五、元组六、字典一、运算符介绍1.1算术运算符1.2比较运算符1.3赋值运算符......
  • 基于python的百度迁徙迁入、迁出数据分析(四)
    这篇文章是对上篇文章的可获取数据的时间区间的修正,依然通过开发者模式找寻相关数据源,我直接把数据url贴在这里,可以发现里面包含了相对明面上看不到的数据包括,行政区id、春运迁徙数据等:qianxi.cdn.bcebos.com/app/index.js?9bf6150c2c2807aeaddb上篇文章在这里,有兴趣的可以连......
  • python高性能计算:cython使用openmp并行 —— 报错:undefined symbol: omp_get_thread_n
    test.pyx文件:fromcython.parallelcimportparallelfromopenmpcimportomp_get_thread_numcpdefvoidlong_running_task1()noexceptnogil:whileTrue:passcpdefvoidlong_running_task2()noexceptnogil:whileTrue:passdefdo......