全网最全面的华为OD机试真题汇总,100%原题题库,不需要开会员即可查看全部内容,更多考题请查看真题库。
真题库:https://www.yuque.com/codernav.com/od
题目:找出通过车辆最多颜色
知识点:滑动窗口
时间限制:1s 空间限制:256MB 限定语言:不限
题目描述:
在一个狭小的路口,每秒只能通过一辆车,假如车辆的颜色只有3种,找出N秒内经过的最多颜色的车辆数量
三种颜色编号为0,1,2
输入描述:
第一行输入的是通过的车辆颜色信息
[0,1,1,2] 代表4秒钟通过的车辆颜色分别是0,1,1,2
第二行输入的是统计时间窗,整型,单位为秒
输出描述:
输出指定时间窗内经过的最多颜色的车辆数量
示例1
输入:
0 1 2 1
3
输出:
2
说明:
在[1,2,1]这个3秒时间窗内,1这个颜色出现2次,数量最多
示例2
输入:
0 1 2 1
2
输出:
1
说明:
在2秒时间窗内,每个颜色最多出现1次
解题思路:
题目规定只有3种颜色。我们可以使用长度为3的整数数组表示。
当颜色为0,ints[0]++;
当颜色为1,ints[1]++;
当颜色为2,ints[2]++;
代码实现一:
/**
* @title 找出通过车辆最多颜色
* @Description 在一个狭小的路口,每秒只能通过一辆车,假如车辆的颜色只有3种,找出N秒内经过的最多颜色的车辆数量
* 三种颜色编号为0,1,2
* @Author 开发者导航
* @website https://codernav.com
* @date 2023/5/13
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] strs = sc.nextLine().split(" ");
int n = sc.nextInt();
int res = 0;
for (int i = 0; i < strs.length - n + 1; i++) {
int[] ints = new int[3]; //只有3种颜色,可以转化成长度3的数组
for (int j = i; j < i + n; j++) {
int index = Integer.parseInt(strs[j]);
ints[index]++;
}
int maxCount = Arrays.stream(ints).max().getAsInt();
res = Math.max(res, maxCount);
}
System.out.println(res);
}
}
代码实现二:
package com.codernav.demo.hwod.exam;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
* @title 找出通过车辆最多颜色
* @Description 在一个狭小的路口,每秒只能通过一辆车,假如车辆的颜色只有3种,找出N秒内经过的最多颜色的车辆数量
* 三种颜色编号为0,1,2
* @Author 开发者导航
* @website https://codernav.com
* @date 2023/5/13
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
int count = sc.nextInt();
final String[] arr = line.split(" ");
int max = 0;
Map<String, Integer> map = new HashMap<>();
for (int i = 0; i < arr.length; i++) {
if (i >= count) {
String key = arr[i - count];
map.put(key, map.get(key) - 1);
}
Integer integer = map.get(arr[i]);
if (integer == null) {
map.put(arr[i], 1);
} else {
map.put(arr[i], integer + 1);
}
integer = map.get(arr[i]);
if (integer > max) {
max = integer;
}
}
System.out.println(max);
}
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...
