当前位置:   article > 正文

【华为OD机考 统一考试机试C卷】结队编程( C语言)_选修课 od考试 c语言

选修课 od考试 c语言

(C语言)华为OD机考:统一考试 C卷 + D卷 + B卷 +A卷

目前在考C卷,经过两个月的收集整理,C卷真题已整理完毕
抽到原题的概率为2/3到3/3,也就是最少抽到两道原题。请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。

真题目录:【C语言题解版】华为 OD 机试 C卷抽中题库清单(全真题库)含考点说明
专栏:(C语言)最新华为OD机试C卷+D卷+AB卷

题目描述

某部门计划通过结队编程来进行项目开发,已知该部门有 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

输出描述

可能结队的小组数量

用例

输入 4
1 2 3 4
输出 4
说明 可能结队成的组合(1,2,3)、(1,2,4)、(1,3,4)、(2,3,4)
输入 3
5 4 7
输出 0
说明 根据结队条件,我们无法为该部门组建小组

解题思路

主要思路:统计每个员工左侧和右侧的职级比较情况,然后利用这些信息来计算每个员工能够作为中间员工参与的队伍数量。

  1. 初始化四个数组,分别用于存储每个员工左侧和右侧职级小于和大于他的员工数量。
  2. 对于每个员工,遍历其左侧的所有员工,统计左侧职级小于和大于当前员工的数量。
  3. 对于每个员工,遍历其右侧的所有员工,统计右侧职级小于和大于当前员工的数量。
  4. 对于每个员工&#x
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/705508
推荐阅读
相关标签
  

闽ICP备14008679号