华为OD机试真题 Java 实现【最长公共后缀】【2023 B卷 100分】,等于白送

news2025/1/21 3:00:34

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明
      • 4、再输入
      • 5、再输出
    • 七、机考攻略

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

专栏导读

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

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

一、题目描述

编写一个函数来查找字符串数组中的最长公共后缀,如果不存在公共后缀,返回固定字符串:@Zero。

补充说明:

  1. 字符串长度范围:[2,1000];
  2. 字符串中字符长度范围为:[1,126];

二、输入描述

[“abc” “bbc” “c”]

三、输出描述

c

四、解题思路

  1. 输入一个字符串数组;
  2. 通过java8 Stream表达式(简洁/方便/上档次)快速拆解输入行;
  3. 通过第一个作为参考字符串,与其它字符串比较;
  4. 暴力算法,倒取比较;
  5. 获取所有字符串拥有的相同的最长公共后缀;
  6. 如果长度不满足 or 字符不一致,结束循环;
  7. 输出最长公共后缀,因为倒序遍历添加,所以要反转一下。

五、Java算法源码

package com.guor.od;

import java.util.Scanner;

public class OdTest {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] arr = sc.nextLine()
                .replace("[", "")
                .replace("]", "")
                .replace("\"", "")
                .split(",");

        StringBuilder builder = new StringBuilder();
        // 通过第一个作为参考字符串,与其它字符串比较
        String firstStr = arr[0];
        // 遍历第一个字符串
        for (int i = 0; i < firstStr.length(); i++) {
            // 最后一个字符,倒取比较
            char c = firstStr.charAt(firstStr.length() - i - 1);
            // 通过第一个作为参考字符串,与其它字符串比较,所以此处略过第一个字符串
            for (int j = 1; j < arr.length; j++) {
                // 其它字符串
                String str = arr[j];
                // 如果长度不满足 or 字符不一致,结束循环
                if (str.length() <= i || c != str.charAt(str.length() - i - 1)) {
                    // 输出最长公共后缀,因为倒序遍历添加,所以要反转一下
                    System.out.println(builder.length() == 0 ? "@Zero" : builder.reverse());
                    return;
                }
            }
            builder.append(c);
        }

        // 输出最长公共后缀,因为倒序遍历添加,所以要反转一下
        System.out.println(builder.length() == 0 ? "@Zero" : builder.reverse());
    }
}

六、效果展示

1、输入

[“javanezha”,“pythonnezha”,“cnezha”]

2、输出

nezha

3、说明

  1. 以第一个为参考字符串,与其他字符串进行比较;
  2. 查看所有字符串拥有的相同后缀;

送分题。

在这里插入图片描述

4、再输入

[“nezhajava”,“nezhapython”,“nezhac”]

5、再输出

@Zero

这么简单,简直就是送分题,大家一定要好好把握,机不可失失不再来。

打开idea,疯狂输出吧~~

在这里插入图片描述

七、机考攻略

三道中等难度题目,总分400分,前两道均为100分,后一道为200分,每道题的时间限制为1S(慎用暴力方法,实在没办法,也可!)。

机考分数是按照题目用例的通过数量的比例算分数,若有的题做不出来,可尽力去写,一些用例通过就有分数。

机考时长2个半小时,若以冲刺机考最高分为目的,则做题时间分配前两道题40分钟,最后一题70分钟(平时练习可以按照40分钟的时限)。

机考分数线根据招聘目标院校和非目标院校有不同,不同华为招聘部门也会有差异,比如前者机考通过线为150分,后者机考通过线为320分。

若以通过机考线为目的,根据自身情况来进行做题时长配置。

  • 机考全程需要打开摄像头,摄像头中不能出现其他人或者宠物,带个小狗和你去考试,这有点过分了吧?
  • 机考全程保证网络稳定;
  • 若机考遇到刷到过的题目,不能照搬网上公开的代码,系统会对代码的相似度进行评估,会被系统判定作弊,建议代码相似度在80%以内;可以通过修改变量名,拆分算法步骤,提取公共方法等手法解决,你懂的~

🏆下一篇:华为OD机试真题 Java 实现【路灯照明问题】【2022Q4 100分】,感谢fly晨发现这个问题,并提供更优质的算法

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

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

在这里插入图片描述

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

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

相关文章

【Golang】Golang进阶系列教程--Go 语言数组和切片的区别

文章目录 前言数组声明以及初始化函数参数 切片声明以及初始化函数参数 总结 前言 在 Go 语言中&#xff0c;数组和切片看起来很像&#xff0c;但其实它们又有很多的不同之处&#xff0c;这篇文章就来说说它们到底有哪些不同。 数组和切片是两个常用的数据结构。它们都可以用…

LBERT论文详解

论文地址&#xff1a;https://arxiv.org/abs/2105.07148 代码地址&#xff1a;https://github.com/liuwei1206/LEBERT 模型创新 LEBRT采用句子中的词语对&#xff08;论文中称为Char-Word Pair&#xff09;的特征作为输入作者设计Lexicon adapter&#xff0c;在BERT的中间某一…

Codeforces Round 839 (Div. 3)E题解

文章目录 [Permutation Game](https://codeforces.com/contest/1772/problem/E)问题建模问题分析1.分析一个玩家想要获胜的关键2.分析阻塞元素的类别3.分析阻塞元素的类别对于局面的影响代码 Permutation Game 问题建模 给定一个长度为n的排列&#xff0c;排列的每个元素都被阻…

CentOS 7安装PostgreSQL 15版本数据库

目录 一、何为PostgreSQL&#xff1f; 二、PostgreSQL安装 2.1安装依赖 2.2 执行安装 2.3 数据库初始化 2.4 配置环境变量 2.5 创建数据库 2.6 配置远程 2.7 测试远程 三、常用命令 四、用户创建和数据库权限 一、何为PostgreSQL&#xff1f; PostgreSQL是以加州大学…

DGNN Survey

Dynamic Graph Definition G ( V , E , X ) G (V, E, X) G(V,E,X) V v 1 , v 2 , . . . , v m V {v_1, v_2, ..., v_m} Vv1​,v2​,...,vm​ E e i , j E {e_{i, j}} Eei,j​ , e i , j ( v i , v j , f i , j ) e_{i,j} (v_i, v_j, f_{i,j}) ei,j​(vi​,vj​,fi,j​…

M1/M2 通过VM Fusion安装Win11 ARM,解决联网和文件传输

前言 最近新入了Macmini M2&#xff0c;但是以前的老电脑的虚拟机运行不起来了。&#x1f605;&#xff0c;实际上用过K8S的时候&#xff0c;会发现部分镜像也跑不起来&#xff0c;X86的架构和ARM实际上还是有很多隐形兼容问题。所以只能重新安装ARM Win11&#xff0c;幸好微软…

【初阶C语言】整数比大小

各位大佬的光临已是上上签 在C语言刷题过程中&#xff0c;一定遇到过很多比大小的题目&#xff0c;那么本节就专门介绍比大小的方法&#xff0c;若大佬们还有更优解&#xff0c;欢迎补充呀&#xff01; 本节讲解的方法主要有三种&#xff1a;1.条件判断 2.三目操作符 3.函数调…

JA64 1+2+3+...n

一、题目 求123...n_牛客题霸_牛客网 二、代码 1.使用静态成员变量构造函数 class SUM {private:static int _i;static int _ret;public:SUM(){_ret _ret _i;_i;}static int GetRet(){return _ret;} }; int SUM::_i1; int SUM::_ret0;class Solution { public:int Sum_So…

暴力求解--完数个数(等于本身之外的因子之和)

找出10000以内的自然数中的所有完数&#xff0c;并统计找到的完数个数。 #include<stdio.h> int main() {//找到10000以内所有的完数&#xff08;等于恰好等于它本身之外的因子之和&#xff09;&#xff0c;并统计完数个数。int n,i,s,count0;printf("找到的所有完…

jsonp 实现跨域 同时也是一个 webflux 的demo 示例

文章目录 核心原理代码html服务端 &#xff08;java 为例子&#xff09;服务端目录结构 核心原理 前端&#xff1a; 使用js 创建 script 标签&#xff0c;将请求地址&#xff0c;放到其src 中&#xff0c;并将 script 标签追加到文档流&#xff1b;后端&#xff1a;根据约定好…

Latex好看的引用(文献,url, 文内引用)

强迫症实锤了&#xff0c;完全符合本人审美&#xff01;&#xff01;&#xff01; \usepackage{hyperref} \hypersetup{ hidelinks, colorlinkstrue, linkcolorIndigo, urlcolorDeepSkyBlue4, citecolorIndigo }基本还原了 哼&#xff0c;欺负老子色彩妹那么敏感是吧&…

WIZnet W51000S-EVB-PICO 入门教程(一)

概述 W5100S-EVB-Pico是基于树莓派RP2040和全硬件TCP/IP协议栈控制器W5100S的微控制器开发板-基本上与树莓派Pico板相同&#xff0c;但通过W5100S芯片增加了以太网功能。 W5100S-EVB-Pico特点 RP2040规格参数 双核Arm Cortex-M0 133MHz264KB 高速SRAM和2MB板载内存通过…

Docker复杂命令便捷操作

启动所有状态为Created的容器 要启动所有状态为"created"的Docker容器&#xff0c;可以使用以下命令&#xff1a; docker container start $(docker container ls -aq --filter "statuscreated")上述命令执行了以下步骤&#xff1a; docker container l…

【Linux】-进程概念及初始fork

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

C++ 拷贝构造函数

拷贝构造函数是一种特殊的构造函数&#xff0c;具有一般构造函数的所有特性&#xff0c;其形参是本类的对象的引用。其作用是使用一个已经存在的对象&#xff08;由拷贝构造函数的参数指定&#xff09;&#xff0c;去初始化同类的一个新对象。 如果程序员没有定义类的拷贝构造函…

自动驾驶感知系统--惯性导航定位系统

惯性导航定位 惯性是所有质量体本身的基本属性&#xff0c;所以建立在牛顿定律基础上的惯性导航系统&#xff08;Inertial Navigation System,INS&#xff09;(简称惯导系统)不与外界发生任何光电联系&#xff0c;仅靠系统本身就能对车辆进行连续的三维定位和三维定向。卫星导…

Ubuntu-文件和目录相关命令一

&#x1f52e;linux的文件系统结构 ⛳目录结构及目录路径 &#x1f9e9;文件系统层次结构标准FHS Filesystem Hierarchy Standard(文件系统层次结构标准&#xff09; Linux是开源的软件&#xff0c;各Linux发行机构都可以按照自己的需求对文件系统进行裁剪&#xff0c;所以众多…

MyBatisPlus从入门到精通-3

紧接着上一篇的查询 接下来的重点介绍增删改操作了 Insert id&#xff08;主键&#xff09;生成策略 前面的案列中我们没有指定id字段 但是它是生成了一个很长的id&#xff0c;并不是我们数据表定义自增 这是Mp内部算法出来的一个值 其实根据不同应用场景&#xff0c;应该使…

抖音SEO源代码的部署与搭建技巧详解

抖音SEO源代码的部署与搭建是一项重要的技术&#xff0c;促进了抖音的发展。在此&#xff0c;我将为大家详细介绍抖音SEO源代码的部署与搭建技巧。 首先&#xff0c;我们需要了解抖音SEO源代码的含义。SEO源代码是搜索引擎优化的核心&#xff0c;它是用于帮助搜索引擎更好地理解…

PHP使用Redis实战实录3:数据类型比较、大小限制和性能扩展

PHP使用Redis实战实录系列 PHP使用Redis实战实录1&#xff1a;宝塔环境搭建、6379端口配置、Redis服务启动失败解决方案PHP使用Redis实战实录2&#xff1a;Redis扩展方法和PHP连接Redis的多种方案PHP使用Redis实战实录3&#xff1a;数据类型比较、大小限制和性能扩展 数据类型…