华为OD机试 2023B卷题库疯狂收录中,刷题点这里
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
编写一个函数来查找字符串数组中的最长公共后缀,如果不存在公共后缀,返回固定字符串:@Zero。
补充说明:
[“abc” “bbc” “c”]
c
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());
}
}
[“javanezha”,“pythonnezha”,“cnezha”]
nezha
送分题。
[“nezhajava”,“nezhapython”,“nezhac”]
@Zero
这么简单,简直就是送分题,大家一定要好好把握,机不可失失不再来。
打开idea,疯狂输出吧~~
三道中等难度题目,总分400分,前两道均为100分,后一道为200分,每道题的时间限制为1S(慎用暴力方法,实在没办法,也可!)。
机考分数是按照题目用例的通过数量的比例算分数,若有的题做不出来,可尽力去写,一些用例通过就有分数。
机考时长2个半小时,若以冲刺机考最高分为目的,则做题时间分配前两道题40分钟,最后一题70分钟(平时练习可以按照40分钟的时限)。
机考分数线根据招聘目标院校和非目标院校有不同,不同华为招聘部门也会有差异,比如前者机考通过线为150分,后者机考通过线为320分。
若以通过机考线为目的,根据自身情况来进行做题时长配置。
下一篇:华为OD机试真题 Java 实现【路灯照明问题】【2022Q4 100分】,感谢fly晨发现这个问题,并提供更优质的算法
本文收录于,华为OD机试(JAVA)真题(A卷+B卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。