0
点赞
收藏
分享

微信扫一扫

【Midjourney】Midjourney 的 Prompt 指令类型 ( 画风指令 | 人物细节指令 | 灯光镜头指令 | 艺术家风格指令 )

在这里插入图片描述

一、题目描述

输入一个字符串,请按长度为8拆分每个输入字符串并进行输出,长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

二、输入描述

连续输入字符串(每个字符串长度小于等于100)。

三、输出描述

依次输出所有分割后的长度为8的新字符串。

四、解题思路

  1. 创建一个空字符串 input 来存储连续输入的字符串;
  2. 使用 Scanner 读取连续输入的字符串,并将它们逐个追加到 input 中,直到遇到空字符串或输入结束;
  3. 调用 splitAndPrint 方法对 input 进行处理;
  4. 在 splitAndPrint 方法中,使用循环遍历输入字符串,每次迭代取出长度为8的子字符串并进行输出;
  5. 如果子字符串长度不足8,在末尾补充数字0,直到长度达到8;
  6. 循环结束后,所有分割后的长度为8的新字符串都已输出。

时间复杂度:假设输入字符串的总长度为 n,则遍历字符串的时间复杂度为 O(n),因为每个字符都需要访问一次。补充数字0的操作时间复杂度为 O(1),不会随着输入规模的增加而增加。因此,总体时间复杂度为 O(n)。

空间复杂度:除了输入字符串外,额外使用的空间为常数级别,因此空间复杂度为 O(1)。

五、Java算法源码

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String str = sc.nextLine();

    // 当字符串的长度大于等于8时,进行字符串截取;
    while (str.length() >= 8) {
        System.out.println(str.substring(0, 8));
        str = str.substring(8);
    }

    // 长度不是8整数倍的字符串请在后面补数字0
    if (str.length() < 8 && str.length() > 0) {
        str += "00000000";
        System.out.println(str.substring(0, 8));
    }
}

六、效果展示

在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论