全网最全面的华为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); } }
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...