小北的青训营 X MarsCode 技术训练营——AI 加码,字节跳动青训营入营考核解答5(持续更新中~~~)

118 阅读3分钟

前言

       最近,字节跳动的青训营再次扬帆起航,作为第二次参与其中的小北,深感荣幸能借此机会为那些尚未了解青训营的友友们带来一些详细介绍。青训营不仅是一个技术学习与成长的摇篮,更是一个连接未来与梦想的桥梁~

1、报名方式

  1. 点击以下链接进行报名:字节跳动青训营报名入口https://juejin.cn/activityregister/7381401591805247534/info?utm_source=campus-2303&utm_medium=qingxunying&utm_campaign=registrationhttps://juejin.cn/activityregister/7381401591805247534/info?utm_source=campus-2303&utm_medium=qingxunying&utm_campaign=registration

2、考核内容

在指定的题库中自主选择不少于 15 道算法题并完成解题,其中题目难度分配如下:

  • 简单题不少于 10 道
  • 中等题不少于 4 道
  • 困难题不少于 1 道

 eg:解答代码(简单10题)

4、 连续子串和的整除问题(简单)

AI调试代码:

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static int solution(int n, int b, List<Integer> sequence) {
        int count = 0; // 用于计数满足条件的连续子串

        // 遍历整个序列
        for (int i = 0; i < n; i++) {
            // 对于每个起始位置 i,计算从 i 开始的连续子串的和
            int sum = 0;
            for (int j = i; j < n; j++) {
                sum += sequence.get(j);
                // 判断当前子串的和是否能被 b 整除
                if (sum % b == 0) {
                    // 如果能整除,计数加 1
                    count++;
                }
            }
        }

        // 返回计数结果
        return count;
    }

    public static void main(String[] args) {
        // 测试用例
        List<Integer> sequence = new ArrayList<>();
        sequence.add(1);
        sequence.add(2);
        sequence.add(3);

        // 检查函数返回值是否等于预期值
        System.out.println(solution(3, 3, sequence) == 3); // 应该输出 true
    }
}

运行结果:

5、 完美整数(简单)

AI调试代码:

public class Main {
    public static int solution(int x, int y) {
        int count = 0; // 定义一个计数器
        for (int num = x; num <= y; num++) {
            String strNum = String.valueOf(num);
            boolean isPerfect = true;
            char firstChar = strNum.charAt(0);
            for (int i = 1; i < strNum.length(); i++) {
                if (strNum.charAt(i) != firstChar) {
                    isPerfect = false;
                    break;
                }
            }
            if (isPerfect) {
                count++; // 如果是完美整数,计数器加 1
            }
        }
        return count; // 返回计数器的值
    }

    public static void main(String[] args) {
        // Add your test cases here

        System.out.println(solution(1, 10) == 9);
        System.out.println(solution(2, 22) == 10);
    }
}

运行结果:

 结语

        在这篇技术博客中,小北与友友们分享了字节跳动青训营的精彩内容,从报名方式到考核内容,再到具体的算法题目示例和解答代码,让我们对青训营有了更深入的了解。通过这些实际的算法题目和解决方案,我们不仅能够学习到编程技巧,还能够感受到解决实际问题的乐趣。

       希望这篇博客能够激励更多的技术爱好者参与到青训营中,提升自己的技术水平,同时小北也期待在未来能带给友友们更多有价值的技术分享~

      最后,祝愿所有参与青训营的朋友们都能学有所成,技术精进,未来在技术的道路上越走越远。同时,也期待字节跳动青训营能够培养出更多的技术人才,为技术社区注入更多的活力和创新!

感谢友友们的阅读,我们下次再见~