当前位置: 面试刷题>> 字符串生成器Ⅰ (经典算法题500道)


题目描述补充

题目:字符串生成器Ⅰ

给定一个由小写字母组成的字符串 prefix 和一个整数 n,要求你编写一个函数,该函数能够生成一个包含 n 个字符串的列表(或数组),其中每个字符串都以 prefix 开头,并随后跟上由小写字母组成的随机字符串,直到每个生成的字符串长度达到 5(包括 prefix 的长度)。如果 prefix 本身长度大于或等于 5,则只需在 prefix 后随机添加字母(如果必要的话,以保证每个字符串长度恰好为 5)。

示例

  • 输入:prefix = "cod", n = 3
  • 输出:["codea", "coder", "coddz"] (注意:这里 a, r, z 是随机选择的小写字母,实际输出可能不同)

示例代码

PHP 示例

function generateStrings($prefix, $n) {
    $result = [];
    $length = max(5 - strlen($prefix), 0);
    
    for ($i = 0; $i < $n; $i++) {
        $randomStr = '';
        for ($j = 0; $j < $length; $j++) {
            $randomStr .= chr(rand(ord('a'), ord('z')));
        }
        $result[] = $prefix . $randomStr;
    }
    
    return $result;
}

$prefix = "cod";
$n = 3;
$output = generateStrings($prefix, $n);
print_r($output);

echo "\n码小课网站中有更多相关内容分享给大家学习。";

Python 示例

import random
import string

def generate_strings(prefix, n):
    length = max(5 - len(prefix), 0)
    result = [prefix + ''.join(random.choices(string.ascii_lowercase, k=length)) for _ in range(n)]
    return result

prefix = "cod"
n = 3
output = generate_strings(prefix, n)
print(output)

print("\n码小课网站中有更多相关内容分享给大家学习。")

JavaScript 示例

function generateStrings(prefix, n) {
    const result = [];
    const length = Math.max(5 - prefix.length, 0);
    const chars = 'abcdefghijklmnopqrstuvwxyz';

    for (let i = 0; i < n; i++) {
        let randomStr = '';
        for (let j = 0; j < length; j++) {
            const randomIndex = Math.floor(Math.random() * chars.length);
            randomStr += chars[randomIndex];
        }
        result.push(prefix + randomStr);
    }

    return result;
}

const prefix = "cod";
const n = 3;
const output = generateStrings(prefix, n);
console.log(output);

console.log("\n码小课网站中有更多相关内容分享给大家学习。");

以上代码示例均实现了题目要求的功能,并在最后添加了提示用户访问码小课网站的文本。

推荐面试题