华为OD机试真题2022Q4 A + 2023 B卷(Java&JavaScript)_华为机试题

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

如果基于我提供的题库开始认认真真刷题,不开玩笑的说遇到原题是肯定的,正常情况下遇到两道原题是不难的,很多同学是直接三题全部命中!因为华为题库三个月会更新一部分新题进来,所以大家尽量不要在新题刚刚更新的时候去做,建议在新题发布一个月后再考我感觉命中两道很正常的!

下面,哪吒将华为OD机试真题归归类,让大家一目而了然。

关于订阅华为OD机试真题的后续问题

  1. 订阅专栏后,专栏内的文章都可看,以后还会继续更新新题
  2. 每道题都包含题目、解题思路、代码详解(关键行包含详细注释)、代码运行截图(保证代码100%正确,通过率100%);
  3. 已经订阅的小伙伴,推荐新人订阅可享 8 折优惠,私信我即可;

在考试的时候,最好不要用CSDN专栏里的源码去答题,因为华为OD机试是有查重的,这个一定要注意!最好是改一改变量名称,加一加注释,改一改逻辑顺序,掌握答题思路才是关键,下面的题中我都加了详细的答题思路,代码中也有详细的注释说明代码运行是100%正确无误的,每一题都有样例测试,全网独一份

如果你刚刚参加完机试考试,欢迎提供真题到哪吒这里,直接红包转账收题。

很多考过的小伙伴,总结了宝贵的经验,多刷题,先易后难,前期积累自信,后期逐一突破,效果最佳。

下面从最新题开始分享、按时间倒序、按难以程度正序排序,做到刷题的循序渐进。

2023 5月 B卷 “新加题”(100分值)

1、华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

2、华为OD机试真题 Java 实现【支持优先级的队列】【2023 B卷 100分】

3、华为OD机试真题 Java 实现【IPv4地址转换成整数】【2023 B卷 100分】

4、华为OD机试真题 Java 实现【字符统计】【2023 B卷 100分】

5、华为OD机试真题 Java 实现【食堂供餐】【2023 B卷 考生抽中题】,附详细解题思路

6、华为OD机试真题(Java),跳跃游戏 II(100%通过+复盘思路)

7、华为OD机试真题 Java 实现【拼接URL】【2023 B卷 100分】,附详细解题思路

8、华为OD机试真题 Java 实现【找终点】【2023 B卷 100分】,附详细解题思路

9、华为OD机试真题 Java 实现【猴子爬山】【2023 B卷 100分】,附详细解题思路

10、华为OD机试真题 Java 实现【矩阵最大值】【2023 B卷 100分】,附详细解题思路

🏆更多华为OD真题,查看华为OD机试(JAVA)真题(A卷+B卷)

2022Q4 100分

1、华为OD机试真题 Java 实现【报数游戏】【2022Q4 100分】

2、华为OD机试真题 Java 实现【水仙花数】【2022Q4 100分】

3、华为OD机试真题 Java 实现【检查是否存在满足条件的数字组合】【2022Q4 100分】

4、华为OD机试真题 Java 实现【素数之积】【2022Q4 100分】

5、华为OD机试真题 Java 实现【分奖金】【2022Q4 100分】

6、华为OD机试真题 Java 实现【尼科彻斯定理】【2022Q4 100分】,附详细解题思路

7、华为OD机试真题 Java 实现【数组合并】【2022Q4 100分】

8、华为OD机试真题 Java 实现【放苹果】【2022Q4 100分】

9、华为OD机试真题 Java 实现【计算数组中心位置】【2022Q4 100分】

10、华为OD机试真题 Java 实现【最长的连续子序列】【2022Q4 100分】

🏆更多华为OD真题,查看华为OD机试(JAVA)真题(A卷+B卷)

下面分享一道“2022Q4 100分 相对开音节”的解题思路

1、题目描述

相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e,常见的单词有life,time,woke,coke,joke,note,nose,communicate,use,gate,same,late等。

给定一个字符串,以空格为分隔符,反转每个单词中的字母,若单词中包含如数字等其他非字母时不进行反转。

反转后计算其中含有相对开音节结构的子串个数(连续的子串中部分字符可以重复)。

2、输入描述

字符串,以空格分割的多个单词,字符串长度<10000,字母只考虑小写。

3、输出描述

含有相对开音节结构的子串个数,注:个数<10000

4、解题思路
  1. 定义一个列表aeiouList,存储元音字母(a, e, i, o, u);
  2. 从输入中读取字符串,并按空格分割为多个单词,存储在数组arr中;
  3. 初始化total为0,表示含有相对开音节结构的子串个数;
  4. 遍历input数组中的每个单词s;
  5. 对于每个单词,首先判断是否只包含字母,如果不是,则跳过该单词;
  6. 如果单词只包含字母,则调用checkKai方法计算该单词中含有相对开音节结构的子串个数,并累加到total中;
    • 反转每个单词中的字母;
    • 每4个字符取出一个子串;
    • 判断字符串是否是相对开音节,total++;
      • 相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e;
      • 定义一个元音下角标yuanIndex;
      • 找到元音的下角标;
      • 通过“相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e”判断是否是相对开音节;
  7. 输出total作为结果。
5、Java算法源码
// 定义一个列表aeiouList,存储元音字母(a, e, i, o, u)
private static final List<Character> aeiouList = new ArrayList<>();

static {
    char[] f1 = {'a', 'e', 'i', 'o', 'u'};
    for (char c : f1) {
        aeiouList.add(c);
    }
}

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    // 从输入中读取字符串,并按空格分割为多个单词,存储在input数组中
    String[] arr = sc.nextLine().split(" ");
    // 初始化total为0,表示含有相对开音节结构的子串个数
    int total = 0;
    // 遍历input数组中的每个单词content
    for (String s : arr) {
        boolean flag = true;
        for (int j = 0; j < s.length(); j++) {
            // 对于每个单词,首先判断是否只包含字母,如果不是,则跳过该单词
            if (s.charAt(j) < 'a' || s.charAt(j) > 'z') {
                flag = false;
                break;
            }
        }
        // 如果单词只包含字母,则调用checkKai方法计算该单词中含有相对开音节结构的子串个数,并累加到total中
        if (flag) {
            total += checkKai(s);
        }
    }
    // 输出total作为结果
    System.out.println(total);
}

/\*\*
 \* 计算该单词中含有相对开音节结构的子串个数,并累加到total中
 \*/
private static int checkKai(String str) {
    // 反转每个单词中的字母
    StringBuilder reversalBuilder = new StringBuilder();
    for (int i = str.length() - 1; i >= 0; i--) {
        reversalBuilder.append(str.charAt(i));
    }

    int left = 0;
    int right = 0;
    int total = 0;
    String temp = "";
    while (right <= str.length()) {
        // 每4个字符取出一个子串
        temp = reversalBuilder.substring(left, right);
        if (temp.length() < 4) {
            right++;
            continue;
        }
        // 字符串是否是相对开音节
        if (check(temp)) {
            total++;
        }
        left++;
        right++;

    }
    return total;
}

/\*\*
 \* 字符串是否是相对开音节
 \*/
private static boolean check(String str) {
    // 相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e
    if (!aeiouList.contains(str.charAt(0)) && 'e' == str.charAt(str.length() - 1)) {
        // 元音下角标
        int yuanIndex = 0;
        for (int i = 1; i < str.length() - 1; i++) {
            // 找到元音的下角标
            if (aeiouList.contains(str.charAt(i))) {
                yuanIndex = i;
            }
            // 相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e
            if (yuanIndex != 0 && !aeiouList.contains(str.charAt(i)) && str.charAt(i) != 'r' && i > yuanIndex) {
                return true;
            }
        }
    }
    return false;
}

6、JavaScript算法源码

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

[外链图片转存中…(img-vfjhRtSj-1715712971378)]
[外链图片转存中…(img-TI14JYcs-1715712971379)]

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值