自学内容网 自学内容网

字节跳动青训营——入营考核解答(持续更新中~~~)

考核内容:

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

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

解答代码

49. 连续子串的和(简单)

代码实现:

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
    }
}

运行结果在这里插入图片描述


原文地址:https://blog.csdn.net/LiuYQi/article/details/143087816

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!