华为OD机试C卷-- 结队编程(Java & JS & Python & C)
飞码创造者 2024-06-17 10:35:03 阅读 78
获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
某部门计划通过结队编程来进行项目开发,
已知该部门有 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
输出描述
可能结队的小组数量
题目解析
这个问题可以转化为一个计数问题,即计算满足特定条件的三个员工(level[i] < level[j] < level[k] 或 level[i] > level[j] > level[k])的组合数量。由于题目没有限制同一员工不能参与多个小组,
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。