T2. 排队选人 - 小米前端笔试编程题解
考试平台: 赛码
题目类型: 20道选择 + 2道编程题
考试时间: 2024-03-23 (两小时)
题目描述
小D是一名老师,他想选出一些同学参加一个团体比赛。
总共有n个同学,每个同学有一个能力值x和一个合作值y,小D将这些同学排成一排。
选人的规则如下:
- 小D将选择一排中连续的k个同学参加比赛,而且为了保证比赛成绩,这k个同学的能力值不影小于a,合作值不能小于b。
小D想知道总共有多少种可能的选人方案。
输入描述
第一行四个正整数n,k,a,b。
第二行n个通过空格隔开的正整数表示一排n个同学的能力值。
第三行n个通过空格隔开的正整数表示一排n个同学的合作值。
输出描述
输出一个非负整数表示选人方案数。
样例输入
10 2 2 4
2 2 9 1 8 1 6 1 7 7
4 8 5 1 9 4 1 3 9 4
样例输出
3
提示
有选择第1,2两个人,第2,3两个人,第9,10两个人三种方案。
n <= 80000,保证k<=n月x,y,a,b<=100000
题解
这道题属于数组和滑动窗口类型的算法题。解题思路是使用滑动窗口来统计符合条件的连续k个同学的选人方案数。
代码大致描述:
- 首先读取输入的n、k、a、b以及每个同学的能力值和合作值。
- 使用两个数组ab和co分别存储每个同学的能
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
🔥笔试编程真题宝典💯 文章被收录于专栏
📕分享大厂机试真题深度剖析核心考点,助你速通面试。