华为OD机试真题 Java 实现【寻找相似单词】【2023Q2 200分】

news2025/1/10 22:41:41

在这里插入图片描述

一、题目描述

给定一个可存储若干单词的字典,找出指定单词的所有相似单词,并且按照单词名称从小到大排序输出。

单词仅包括字母,但可能大小写并存(大写不一定只出现在首字母)。

相似单词说明:

给定一个单词X,如果通过任意交换单词中字母的位置得到不同的单词Y,那么定义Y是X的相似单词,如abc、bca即为相似单词(大小写是不同的字母,如a和A算两个不同字母)。

字典序排序: 大写字母<小写字母。同样大小写的字母,遵循26字母顺序大小关系。即A<B<C<…<X<Y<Z<a<b<c<…<x<y<z。

如Bac<aBc<acB<cBa。

二、输入描述

第一行为给定的单词个数N(N为非负整数);
从第二行到第N+1行是具体的单词(每行一个单词);
最后一行是指定的待检测单词(用于检测上面给定的单词中哪些是与该指定单词是相似单词,该单词可以不是上面给定的单词);

三、输出描述

从给定的单词组中,找出指定单词的相似单词,并且按照从小到大字典序排列输出,中间以空格隔开;
如果不存在,则输出null(字符串null)。

四、Java算法源码

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    // 单词个数N
    int N = sc.nextInt();
    // 从第二行到第N+1行是具体的单词
    String[] words = new String[N];
    for (int i = 0; i < N; i++) {
        words[i] = sc.next();
    }
    // 最后一行是指定的待检测单词
    String target = sc.next();

    // 待检测单词按字典序排序
    String targetAsc = sort(target);
    List<String> sameList = new LinkedList<>();
    for (int i = 0; i < N; i++) {
        /**
         * 1.将具体单词按字典序排序
         * 2.和待检测单词比较
         * 3.相似单词添加到sameList
         */
        if (sort(words[i]).equals(targetAsc)) {
            sameList.add(words[i]);
        }
    }
    if (sameList.size() == 0) {
        System.out.println("null");
        return;
    }

    Collections.sort(sameList);
    for (String s : sameList) {
        System.out.print(s + " ");
    }
}

/**
 * 字典序排序
 * <p>
 * 大写字母<小写字母。同样大小写的字母,遵循26字母顺序大小关系。
 */
public static String sort(String a) {
    char[] charArray = a.toCharArray();
    Arrays.sort(charArray);
    return new String(charArray);
}

五、效果展示

1、输入

5
nezha
neZha
study
java
zhane
zhane

2、输出

nezha zhane

3、说明

在给定的输入中,与zhane是兄弟单词的是nezha zhane ,且输出按照字典序大小排序,输出的所有单词以空格隔开。

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【获得完美走位】【2023Q1 100分】

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

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

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

相关文章

TCP是面向字节流的协议

TCP字节流 之所以会说 TCP 是面向字节流的协议&#xff0c;UDP 是面向报文的协议&#xff0c;是因为操作系统对 TCP 和 UDP 协议的发送方的机制不同&#xff0c;也就是问题原因在发送方。 为什么 UDP 是面向报文的协议&#xff1f; 当用户消息通过 UDP 协议传输时&#xff0c;…

从C语言到C++_12(string相关OJ题)

上一篇已经讲了string类的接口函数&#xff0c;然后根据查文档刷了一道力扣415字符串相加&#xff0c; 这篇继续跟着查文档来刷力扣题&#xff0c;体会C刷题的方便。 目录 917. 仅仅反转字母 - 力扣&#xff08;LeetCode&#xff09; 代码解析&#xff1a; 387. 字符串中的…

SSRS rdlc报表 一 创建报表

环境 vs2019 fromwork4.5 第一步 安装rdlc报表插件 vs2019使用rdlc&#xff0c;需要安装扩展插件&#xff0c;扩展→扩展管理→联机&#xff0c;搜索rdlc&#xff0c;安装Microsoft RDLC Report Designer&#xff0c;我在安装过程中&#xff0c;安装了很久都没安装成功&…

构建高可用性的核心服务层:Coupang电子商务应用程序的技术实践

随着Coupang电子商务平台用户数量的快速增长&#xff0c;构建一个高可用性的核心服务层成为了关键任务。本文将介绍Coupang如何通过统一的NoSQL数据存储、缓存层和实时数据流等技术和策略&#xff0c;构建一个高可用性的核心服务层&#xff0c;以满足日益增长的数据流量需求&am…

保姆式教学--教室友从买服务器到怎么搭建内网隧道

本文转载于&#xff1a;https://blog.csdn.net/qq_39739740/article/details/127604642 一、购买云服务器 怎么购买&#xff1f; 三个主流厂商&#xff1a;华为云、腾讯云、阿里云 --------拿阿里云举例。 首先第一步、我们要百度搜索 阿里云→进入官网→选择最便宜的服务器&…

python+django音乐推荐网站vue

为此开发了本音乐推介网站 &#xff0c;为用户提供一个基于音乐推介网站&#xff0c;同时方便管理员&#xff1b;首页、个人中心、用户管理&#xff0c;类型信息管理、乐器类型管理、歌曲信息管理、戏曲信息管理、MV专区管理、付费音乐管理、订单信息管理、音乐文件管理、论坛管…

JavaSE基础(七)—— 常用API(String、 ArrayList)

1.API 1.1API概述 什么是API ​ API (Application Programming Interface) &#xff1a;应用程序编程接口 java中的API ​ 指的就是 JDK 中提供的各种功能的 Java类&#xff0c;这些类将底层的实现封装了起来&#xff0c;我们不需要关心这些类是如何实现的&#xff0c;只需…

阿里云/dev/vda1磁盘空间占满的解决过程

1.查看文件系统系统的占有量 使用df -h查看了下 2.查看本目录占据多少磁盘空间 du -sh 3.在cd /目录下 du -sh查看各个目录占据多少空间 d 然后使用 du -sh *查看具体文件差距多少空间逐一排查最后把占据大的文件删除掉即可.

Elasticsearch:使用字节大小的向量节省空间 - 8.6

作者&#xff1a;Jack Conradson, Benjamin Trent Elasticsearch 在 8.6 中引入了一种新型向量&#xff01; 该向量具有 8 位整数维度&#xff0c;其中每个维度的范围为 [-128, 127]。 这比具有 32 位浮点维度的当前向量小 4 倍&#xff0c;这可以节省大量空间。 你现在可以通…

【哈士奇赠书活动 - 24期】-〖前端工程化:基于Vue.js 3.0的设计与实践〗

文章目录 ⭐️ 赠书 - 《前端工程化&#xff1a;基于Vue.js 3.0的设计与实践》⭐️ 内容简介⭐️ 作者简介⭐️ 精彩书评⭐️ 赠书活动 → 获奖名单 ⭐️ 赠书 - 《前端工程化&#xff1a;基于Vue.js 3.0的设计与实践》 ⭐️ 内容简介 本书以Vue.js的3.0版本为核心技术栈&#…

Python自动化办公对每个子文件夹的Excel表加个表头(Excel不同名)(下篇)

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 昭阳殿里恩爱绝&#xff0c;蓬莱宫中日月长。 大家好&#xff0c;我是皮皮。 一、前言 上一篇文章&#xff0c;我们抛出了一个问题&#xff0c;这篇文章…

发挥CWPP在零售行业安全关键价值

新钛云服已累计为您分享747篇技术干货 CWPP产品对于零售行业安全有关键价值&#xff0c;可以极大提升零售行业安全水平&#xff0c;是零售行业必备的安全产品。 零售行业的特点 零售行业的特点是实时在线、数据有独特价值&#xff0c;安全挑战是缺乏安全投入和人员。 实时在线方…

推荐 5 月份炫炫炫的 GitHub 项目

推荐 6 个五月份比较火的开源项目。因为近期 AI 项目的火爆&#xff0c;每天 GitHub 热榜都被 AI 项目占据&#xff0c;后续开源项目会同时盘点 AI 和其他分类的开源项目。 本期推荐开源项目目录&#xff1a; 1. 多合一聊天机器人客户端&#xff08;AI&#xff09; 2. 数据库场…

蓝库云|生产报工系统对制造业的作用,能给企业带来的质的飞跃

生产报工系统&#xff0c;对于做制造业的企业来说是再熟悉不过的软件系统了&#xff0c;不仅可以令制造企业可以快速响应客户需求&#xff0c;根据客户订购要求进行生产计划管理&#xff0c;还能生产报工可以帮助制造企业提升生产效率、提高产品质量、改善生产计划和提高客户满…

企业级应用如何用 Apache DolphinScheduler 有针对性地进行告警插件开发?

点击蓝字 关注我们 作者 | 刘宇星 Apache DolphinScheduler的2.0.1版本加入了插件化架构改进&#xff0c;将任务、告警组件、数据源、资源存储、注册中心等都将被设计为扩展点&#xff0c;以此来提高 Apache DolphinScheduler 本身的灵活性和友好性。在企业级应用中不同公司的告…

ChatGPT被广泛应用,潜在的法律风险有哪些?

ChatGPT由OpenAI开发&#xff0c;2022年11月一经面世便引发热烈讨论&#xff0c;用户数持续暴涨。2023年初&#xff0c;微软成功将ChatGPT接入其搜索引擎Bing中&#xff0c;市场影响力迅速提升&#xff0c;几乎同一时间&#xff0c;谷歌宣布其研发的一款类似人工智能应用Bard上…

树莓派 Ubuntu 18.04 连接 WiFi

树莓派 Ubuntu 18.04 连接 WiFi 阿瑞特后视镜那边代码调试需要用到树莓派&#xff0c;但是实验室 TP-LINK-DD48 用不了 所以要更改原先的 WiFi 连接信息 树莓派raspberry Pi 4B安装Ubuntu 20.04 LTS系统后如何连接WiFi 树莓派4B(ubuntu)设置wifi的方法 树莓派4B安装Ubuntu Se…

函数式接口入门简介(存在疑问,求解答)

这里写目录标题 引子四种函数式接口-简单Demo四种函数式接口介绍函数式接口实战-代码对比关于Consumer赋值问题&#xff08;疑问&#xff0c;求解答&#xff09; 引子 只包含一个抽象方法的接口&#xff0c;就称为函数式接口。来源&#xff1a;java.util.function 我想在方法…

【JS】1691- 重学 JavaScript API - Performance API

❝ 前期回顾&#xff1a; 1. Page Visibility API 2. Broadcast Channel API 3. Beacon API 4. Resize Observer API 5. Clipboard API 6. Fetch API ❞ &#x1f3dd; 1. 什么是 Performance API 1.1 概念介绍 Performance API 提供了「访问和测量浏览器性能相关信息」的方法。…

作为IT行业过来人,我有4个重要建议给年轻程序员!

见字如面&#xff0c;我是军哥&#xff01; 作为一名 40 岁的 IT 老兵&#xff0c;我在年轻时踩了不少坑&#xff0c;至少有两打&#xff0c;我总结了其中最重要的 4 个并一次性分享给你&#xff0c;文章不长&#xff0c;你一定要看完哈&#xff5e; 1、重视基础还不够&#xf…