华为OD机试 - 最多颜色的车辆 - 数据结构map(Java 2022Q4 100分)

news2024/11/17 12:47:28

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
      • 1、核心思想
      • 2、题做多了,你就会发现,这道题属于送分题,为什么这样说?
      • 3、具体解题思路:
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

在一个狭小的路口,每秒只能通过一辆车,假设车辆的颜色只有 3 种,找出 N 秒内经过的最多颜色的车辆数量。

三种颜色编号为0 ,1 ,2

二、输入描述

第一行输入的是通过的车辆颜色信息[0,1,1,2] ,代表4 秒钟通过的车辆颜色分别是 0 , 1 , 1 , 2

第二行输入的是统计时间窗,整型,单位为秒

三、输出描述

输出指定时间窗内经过的最多颜色的车辆数量。

四、解题思路

1、核心思想

输出指定时间窗内经过的最多颜色的车辆数量。

题读三遍,其义自见。

在一个狭小的路口,每秒只能通过一辆车,假设车辆的颜色只有 3 种,找出 N 秒内经过的最多颜色的车辆数量。

比如输入

0 1 2 2 1 0
4

4秒内经过的最多颜色的车辆数量。

4秒内经过了那几辆车:0 1 2 2

颜色最多的车辆是2,数量是2,即输出2。

2、题做多了,你就会发现,这道题属于送分题,为什么这样说?

  1. 题意简单
  2. 一看题目就秒懂,通过map实现即可

有的人可能想到滑动窗口+双指针,不麻烦吗?通过考试,拿满分才是王道。

算法嘛,能用简单的,绝不用复杂的。

3、具体解题思路:

  1. 遍历第一行输入的通过的车辆颜色信息;
  2. 遍历的长度是统计时间窗;
  3. 定义一个map,(key:每辆车的颜色信息,value:统计时间窗内出现的次数)。
  4. 获取map中值最大的值即输出结果。

五、Java算法源码

package com.guor.od;

import java.util.*;

public class OdTest02 {
    /**
     * 最多颜色的车辆
     * 输出指定时间窗内经过的最多颜色的车辆数量。
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 通过的车辆颜色信息[0,1,1,2] 代表4秒钟通过的车辆颜色分别是 0,1,1,2
        String[] arr = scanner.nextLine().split(" ");
        // 统计时间窗
        int number = Integer.valueOf(scanner.nextLine());

        /**
         * key:每辆车的颜色信息
         * value:统计时间窗内出现的次数
         */
        Map<String, Integer> map = new HashMap<String, Integer>();
        for (int i = 0; i < number; i++) {
            if (map.containsKey(arr[i])) {
                map.put(arr[i], map.get(arr[i]) + 1);
            } else {
                map.put(arr[i], 1);
            }
        }
        System.out.println(map);
        // 获取map中的最大值
        Integer max = 0;
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            if (entry.getValue() > max) {
                max = entry.getValue();
            }
        }

        // 觉得没意思,想秀一下演技,也可以这样,不过不建议这样写
        max = sortByValue(map);
        System.out.println(max);
    }

    /**
     * 获取map中的最大值
     */
    public static Integer sortByValue(Map<String, Integer> map) {
        List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
        Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
            public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
                // 降序排列
                return (o2.getValue() - o1.getValue());
            }
        });
        System.out.println(list);
        return list.get(0).getValue();
    }
}

六、效果展示

1、输入

0 1 2 2 1 0
5

2、输出

2

在这里插入图片描述


🏆下一篇:华为OD机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/984373.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文读懂骨传导耳机和入耳式耳机哪个对人体伤害小?

先说结论&#xff0c;骨传导耳机和入耳式耳机哪个对人体伤害最小&#xff0c;答案是骨传导耳机对人体的伤害要小一些。 普通的耳机传声原理是直接将声音通过空气振动传递给耳膜&#xff0c;从而听到声音而骨传导的传声原理有所不同&#xff0c;骨传导传递声音是通过振动&#…

功率信号源可以应用在哪些方面

功率信号源是一种能够产生一定功率的信号源&#xff0c;广泛应用于各个领域。下面将介绍功率信号源在电子、通信、工业和科研等方面的应用。 在电子行业中&#xff0c;功率信号源是一种重要的测试工具。它可以产生各种波形的信号&#xff0c;如正弦波、方波、脉冲波等&#xff…

MySQL 8.0安装及配置教程

一、下载mysql 进入官网https://www.mysql.com/&#xff0c;下载最新的的mysql8.0版本&#xff0c;该版本新增了许多特性。 进入下载页面&#xff0c;可以选择企业版本和社区版本&#xff0c;一般选择社区免费下载。 二、安装mysql&#xff08;此方法默认安装至C盘&#xff0c…

echarts环图配置

echarts环图配置 1、安装echarts npm install echarts4.9.02、页面引入echarts import echarts from echarts;3、应用 template片段 <div class"chart-wrap"><div id "treeChart" style "width: 180px; height:180px;" ><…

实现Map批量赋值,我只需24秒搞定!

函数的功能是将一组键值对批量赋值给Map中的键。在Java中&#xff0c;通常使用Map的put方法逐个将键值对赋值给Map&#xff0c;但在某些场景下&#xff0c;可能需要一次性将多个键值对赋值给Map。 函数功能&#xff1a;Map批量赋值 参数1&#xff1a;参数名称&#xff1a;targ…

VR全景广告——实体商家的营销新选择

前几年&#xff0c;大家出行不便&#xff0c;那个时候实体商家整天苦恼于没有客户&#xff0c;没有销量&#xff0c;一直到引入VR全景广告才算是有所好转。随着VR全景技术不断完善&#xff0c;许多行业、领域开始结合VR全景&#xff0c;例如景区、房地产、车企等都会利用VR全景…

如何防止僵尸 API...

人们越来越依赖Web API。2023 年 Postman API 状况报告发现&#xff0c;整整 92% 的组织计划在明年增加对 API 的投资。API 正在为从内部微服务策略到合作伙伴策略和成熟产品的一切提供动力。 然而&#xff0c;这种新发现的API 蔓延带来了后果&#xff1b;迫在眉睫的威胁可能会…

CSS:屏幕正中间有个元素A,元素A中有文字A,随着屏幕宽度的增加

始终需要满足以下条件&#xff1a; A元素垂直居中于屏幕***&#xff1b;A元素距离屏幕左右边距各10px&#xff1b;A元素里面的文字”A”的font-size:20px&#xff1b;水平垂直居中;A元素的高度始终是A元素宽度的50%; (如果搞不定可以实现为A元素的高度固定为200px;)请用 html及…

【产线故障】线上接口请求过慢如何排查?

文章目录 前言一、内存使用过高导致CPU满载案例代码分析思路 二、出现了类似死循环导致cpu负载案例代码分析思路 三、死锁案例代码分析思路 前言 首先线上接口变慢&#xff0c;原因可能有很多&#xff0c;有可能是网络&#xff0c;有可能是慢 SQL&#xff0c;有可能是服务本身…

3种轻量化框架总结

一般的卷积神经网络的参数量和计算量都很大&#xff0c;很难应用在资源有限的场景中。为了解决这个问题&#xff0c;通常是在训练好的模型上进行优化&#xff0c;如通过对模型压缩减少计算量和存储成本&#xff0c;也可以通过剪枝连接方法去掉了不重要的神经元连接或者通道修剪…

SecureCRT9.1高亮配色设置

参考:http://zh-cjh.com/qita/1623.html https://download.csdn.net/download/qq_45698138/88310255?spm1001.2014.3001.5503 1.创建文件colorful-network.ini,添加如下内容 D:"Match Case"00000000 D:"Regex Line Mode"00000000 Z:"Keyword Lis…

C语言学习:6、C语言程序的循环结构

生活中&#xff0c;有很多循环的东西&#xff0c;比如钟表就是在1到12循环&#xff0c;太阳东升西落也是循环&#xff0c;春夏秋冬也是循环&#xff0c;人生可能也是一个循环。 while C语言中的循环可以这么描述&#xff1a;当某个条件成立&#xff0c;就一直做某件事或某些事…

微信小程序开发---基本组件的使用

目录 一、scroll-view &#xff08;1&#xff09;作用 &#xff08;2&#xff09;用法 二、swiper和swiper-item &#xff08;1&#xff09;作用 &#xff08;2&#xff09;用法 三、text &#xff08;1&#xff09;作用 &#xff08;2&#xff09;使用 四、rich-tex…

煤矿虚拟仿真 | 采煤工人VR虚拟现实培训系统

随着科技的发展&#xff0c;虚拟现实(VR)技术已经逐渐渗透到各个行业&#xff0c;其中包括煤矿行业。VR技术可以为煤矿工人提供一个安全、真实的环境&#xff0c;让他们在虚拟环境中进行实际操作和培训&#xff0c;从而提高他们的技能水平和安全意识。 由广州华锐互动开发的采煤…

如何解决基因行业海量数据传输难题?镭速传输给出答案

基因大数据是指通过基因测序、分析和应用所产生的海量数据&#xff0c;它揭示了生命的奥秘和规律&#xff0c;对于科学研究、医疗健康、生物产业等领域具有重要的价值和意义。 随着高通量测序技术的进步&#xff0c;基因大数据的产量呈现爆炸式增长&#xff0c;预计到 2025 年…

算法笔记--最大连续1的个数Ⅲ

leetcode题目链接:1004. 最大连续1的个数 III 题目描述 给定一个二进制数组 nums 和一个整数 k&#xff0c;如果可以翻转最多 k 个 0 &#xff0c;则返回 数组中连续 1 的最大个数 。 思路 这里可以转换思路&#xff0c;让题意更加明确:即&#xff0c;求一个最大连续区间…

pip安装报HTTPSConnectionPool错误解决方案

报错&#xff1a; 解决方案&#xff1a;添加-i https://pypi.tuna.tsinghua.edu.cn/simple/&#xff0c;这里是https&#xff0c;而不是http&#xff0c;网上很多为pip install gradio -i http://pypi.tuna.tsinghua.edu.cn/simple/导致未能成功。 正确为&#xff1a; pip in…

多元共进|2023 Google 开发者大会主旨演讲亮点回顾

2023 Google 开发者大会 今日正式拉开帷幕 一起回顾主旨演讲精华内容 收获技术新知&#xff0c;实现多元共进&#xff01; 主旨演讲亮点合集速览 &#xff08;KN recap视频&#xff09; 扫码前往官网 查看主旨演讲完整回放 Google 大中华区总裁陈俊廷首先上台分享&#x…

rrweb入门

rrweb 背景 rrweb 是 record and replay the web&#xff0c;是当下很流行的一个录制屏幕的开源库。与我们传统认知的录屏方式&#xff08;如 WebRTC&#xff09;不同的是&#xff0c;rrweb 录制的不是真正的视频流&#xff0c;而是一个记录页面 DOM 变化的 JSON 数组&#x…

文件上传漏洞-upload靶场13-16关 (图片木马-文件包含与文件上次漏洞)

文件上传漏洞-upload靶场13-16关 &#xff08;图片木马-文件包含与文件上次漏洞&#xff09; 简介 upload靶场到了第十三关&#xff0c;难度就直线上升了&#xff0c;在最后这7关中&#xff0c;包含了图片木马、竞争条件等上传技巧&#xff0c;这些漏洞的本质&#xff0c;都是…