华为OD机试 - 找朋友(Java 2023 B卷 100分)

news2024/11/25 7:05:49

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
      • 大白话解释一下就是:
      • 1、输入:
      • 2、输出:
      • 3、说明
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明

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

专栏导读

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

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

一、题目描述

在学校中,N个小朋友站成一队,第i个小朋友的身高为height[i],第i个小朋友可以看到的第一个比自己身高更高的小朋友j,那么是的好朋友(要求j>i)。

请重新生成一个列表,对应位置的输出是每个小朋友的好朋友位置,如果没有看到好朋友,请在该位置用0代替。

小朋友人数范围是[0,40000]

二、输入描述

第一行输入N,N表示有N个小朋友

第二行输入N个小朋友的身高height[i],都是整数

三、输出描述

输出N个小朋友的好朋友的位置。

N个小朋友站成一队,第i个小朋友的身高为height[i],第i个小朋友可以看到的第一个比自己身高更高的小朋友j,那么是的好朋友(要求j>i)。

大白话解释一下就是:

有一行数,找到比当前数大的第一个数,输出其下角标,如果没有,输出0

用例:

1、输入:

8
123 124 125 121 119 122 126 123

2、输出:

1 2 6 5 5 6 0 0

3、说明

  • 123的好朋友是1位置上的124;
  • 124的好朋友是2位置上的125;
  • 125的好朋友是6位置上的126;
  • 121的好朋友是5位置上的122;
  • 119的好朋友是5位置上的122;
  • 122的好朋友是6位置上的126;
  • 126没有好朋友;
  • 1223没有好朋友;

四、解题思路

本题还是比较简单的,理解题意才是关键。

  1. 输入 N个小朋友;
  2. 输入N个小朋友的身高;
  3. 非法校验;
  4. 遍历N个小朋友的身高;
    • 找到比当前身高大的第一个身高,并获取其下角标;
    • 如果未找到,则默认0;
  5. 按照指定格式输出。

五、Java算法源码

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    // N个小朋友
    int n = Integer.valueOf(sc.nextLine());
    // N个小朋友的身高
    int[] arr = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();

    // 非法校验
    if (n < 0 || n > 40000 || n != arr.length) {
        System.out.println("input error");
        return;
    }

    // 遍历N个小朋友的身高
    List<Integer> list = new ArrayList<>();
    for (int i = 0; i < n; i++) {
        boolean flag = false;
        // 找到比当前身高大的第一个身高,并获取其下角标
        for (int j = i; j < n; j++) {
            if (arr[j] > arr[i]) {
                list.add(j);
                flag = true;
                break;
            }
        }
        // 如果未找到,则默认0
        if (!flag) {
            list.add(0);
        }
    }

    StringJoiner stringJoiner = new StringJoiner(" ");
    list.forEach(x->stringJoiner.add(String.valueOf(x)));
    System.out.println(stringJoiner);
}

六、效果展示

1、输入

8
123 124 125 121 119 122 126 123

2、输出

1 2 6 5 5 6 0 0

3、说明

  • 123的好朋友是1位置上的124;
  • 124的好朋友是2位置上的125;
  • 125的好朋友是6位置上的126;
  • 121的好朋友是5位置上的122;
  • 119的好朋友是5位置上的122;
  • 122的好朋友是6位置上的126;
  • 126没有好朋友;
  • 1223没有好朋友;

在这里插入图片描述


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

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

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

在这里插入图片描述

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

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

相关文章

安装node-sass安装失败(Failed at the node-sass@4.14.1 postinstall script.)

npm i安装依赖&#xff0c;安装node-sass失败 全局设置淘宝镜像&#xff0c;还是下载不下来。下载不下来可能是因为默认从github上去下载node-sass&#xff0c;而国内经常连不上或者网络不好。可以单独下载 npm i node-sass4.14.1 --sass_binary_sitehttps://npm.taobao.org/…

Maven多环境下 active: @profileActive@报错问题解决

1.报错&#xff1a; Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found character that cannot start any token.(Do not use for indentation) 2.解决办法&#xff1a; 在主pom的文件下&#xff0c;重新加载&#xff1a;

模型可解释性

模型可解释性 前言导读Background1、为什么需要可解释性&#xff1f;2、诞生背景3、研究现状4、常见的模型可解释性方法4.1 基于模型自身的可解释性1&#xff09;Explanation Generation2&#xff09;Prototype Network 4.2 基于结果的可解释性 5、应用前景6、面临挑战 前言导读…

基于ssm的校园快递物流管理系统(java+jsp+ssm+javabean+mysql+tomcat)

博主24h在线&#xff0c;想要源码文档部署视频直接私聊&#xff0c;9.9拿走&#xff01; 基于javawebmysql的ssm校园快递物流管理系统(javajspssmjavabeanmysqltomcat) 运行环境&#xff1a; Java≥8、MySQL≥5.7、Tomcat≥8 开发工具&#xff1a; eclipse/idea/myeclipse/s…

php实现普通和定时跳转的几种方式

一、普通跳转 1、使用header函数&#xff1a;通过设置HTTP头部信息实现页面跳转。可以使用Location头部指定跳转的URL。例如&#xff1a; header("Location: http://www.example.com"); exit(); 2、使用JavaScript&#xff1a;可以使用JavaScript的window.location…

倾斜摄影三维模型的根节点合并的并行处理技术分析

倾斜摄影三维模型的根节点合并的并行处理技术分析 倾斜摄影三维模型的根节点合并是指将多个倾斜摄影拍摄得到的三维模型中的根节点进行合并&#xff0c;以减少模型大小和复杂度。在处理大规模的倾斜摄影数据时&#xff0c;传统的串行处理方法效率较低&#xff0c;因此需要使用并…

Shiro安全框架

一、与SpringBoot整合 ①&#xff1a;框架整合 1. 创建SpringBoot项目 环境&#xff1a; jdk: 1.8SpringBoot: 2.5.14 2. 整合MyBatis根据实体类生成表 可查看文章&#xff1a;https://juejin.cn/post/7234324615015776315 按照以上笔记配置后在补充一下代码 依赖MyBatisP…

QML 中TextField输入框和下划线的设定

1.TextField的默认显示方式是输入框&#xff0c;如下所示: TextField { placeholderText: qsTr("Enter name") } 但是也有这样显示的,它变成了下划线: 在属性设置中是找不到相关设置&#xff0c;结果在mian.cpp中发现了一行代码会影响效果。这行代码是…

网工实验笔记:IPv6(配置6to4隧道)

1. 实验目的 熟悉6to4隧道的应用场景 掌握6to4隧道的配置方法 2. 实验拓扑 实验拓扑如图所示&#xff1a; 想要华为数通配套实验拓扑和配置笔记的朋友们点赞关注&#xff0c;评论区留下邮箱发给你! 3. 实验步骤 &#xff08;1&#xff09;配置IP地址 AR1的配置 …

ActiveMQ反序列化漏洞(CVE-2015-5254)复现

漏洞描述 Apache ActiveMQ 是由美国 Pachitea &#xff08;Apache&#xff09; 软件基金会开发的开源消息传递中间件&#xff0c;支持 Java 消息传递服务、集群、Spring 框架等。 Apache ActiveMQ 版本 5.x 之前的 5.13.0 安全漏洞&#xff0c;该漏洞由程序导致&#xff0c;不…

运动蓝牙耳机哪个品牌好?值得推荐的运动耳机分享

​对于我来说&#xff0c;运动和音乐是生活中不可或缺的元素。无论是在室内还是在户外锻炼&#xff0c;我都会选择一款适合的运动耳机&#xff0c;播放自己喜欢的音乐&#xff0c;让自己放松身心。在选择运动耳机时&#xff0c;我会考虑到它的舒适度、音质、耐用的性能以及防水…

led灯对眼睛有伤害吗?精选高品质的护眼台灯

在大家的认知中led灯最大的危害就是有蓝光辐射&#xff0c;其实在如今科技发达的时代&#xff0c;很多led灯对蓝光的处理技术都已经非常成熟的了&#xff0c;有些led灯具甚至做到了RG0无蓝光危害的。只要我们挑选一款光源合适、质量合格的产品&#xff0c;正确的使用基本都不会…

Kubernetes的介绍

目录 Kubernetes概述 1、作用 2、官网 3、K8S的主要功能 Kubernetes 集群架构与组件 1、核心组件 1&#xff09;Kube-apiserver 2&#xff09;Kube-controller-manager 3&#xff09;Kube-scheduler 4&#xff09;etcd 5&#xff09;Kubelet 6&#xff09;Kube-Pro…

FAN7391MX 高压600V 用于高压、高速驱动 MOSFET和IGBT 半桥栅极驱动器IC

FAN7391MX是单片高侧和低侧栅极驱动 IC&#xff0c;可驱动工作在高达 600 V 电压的高速 MOSFET 和 IGBT。它具有缓冲输出级&#xff0c;所有 NMOS 晶体管设计用于实现高脉冲电流驱动能力和最低交叉传导。Fairchild 的高压工艺和共模噪声消除技术可使高侧驱动器在高 dv/dt 噪声环…

amd Ubuntu opencl 安装

amd cpugpu 安装amd显卡驱动&#xff0c;下载地址&#xff1a; https://www.amd.com/en/support/linux-drivers //eg: sudo apt install ./amdgpu-install_5.4.50403-1_all.deb amdgpu-install安装成功之后可输入 glxinfo | grep rendering&#xff0c;显示 yes 则显卡驱动安…

浙江大学漏洞报送证书

获取来源&#xff1a;edusrc&#xff08;教育漏洞报告平台&#xff09; url&#xff1a;主页 | 教育漏洞报告平台 兑换价格&#xff1a;20金币 获取条件&#xff1a;提交浙江大学任意中危或以上级别漏洞

财务自由纲领

一、大道至简 抓住事物的要害和根本&#xff0c;剔除那些无效的、非本质的东西&#xff0c;化繁为简 二、空杯心态 空杯心态象征意义是做事的前提是先要有好心态。如果想学到更多学问&#xff0c;先要把自己想象成“一个空着的杯子”&#xff0c;而不是骄傲自满。有一句话说&a…

【更新公告】AirtestIDE更新至1.2.16版本

1. 前言 本次更新为AirtestIDE、Airtest、Poco更新。 AirtestIDE更新至1.2.16版本&#xff0c;Airtest更新为1.3.1版本&#xff0c;Poco更新为1.0.92版本&#xff0c;主要为iOS内容更新、新增Android剪切板功能、poco问题修复等。更多更新内容详见下文。 2. 更新内容 1&…

易基因:cfDNA甲基化诊断和监测肿瘤的研究进展与展望:胰腺癌|深度综述

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 胰腺癌因其病死率高而成为目前最具挑战性的恶性肿瘤之一。考虑到目前的治疗方案诊断较晚&#xff0c;生存获益有限&#xff0c;优化早期检测、预后和治疗反应预测势在必行。近年来大量研…

Git设置显示中文

git config --global i18n.comitencoding utf-8 git config --global i18n.logoutputencoding utf-8 export LESSCHARSETutf-8