当前位置: 面试刷题>> 字符串生成器Ⅰ (经典算法题500道)
### 题目描述补充
**题目:字符串生成器Ⅰ**
给定一个由小写字母组成的字符串 `prefix` 和一个整数 `n`,要求你编写一个函数,该函数能够生成一个包含 `n` 个字符串的列表(或数组),其中每个字符串都以 `prefix` 开头,并随后跟上由小写字母组成的随机字符串,直到每个生成的字符串长度达到 `5`(包括 `prefix` 的长度)。如果 `prefix` 本身长度大于或等于 `5`,则只需在 `prefix` 后随机添加字母(如果必要的话,以保证每个字符串长度恰好为 `5`)。
**示例**:
- 输入:`prefix = "cod"`, `n = 3`
- 输出:`["codea", "coder", "coddz"]` (注意:这里 `a`, `r`, `z` 是随机选择的小写字母,实际输出可能不同)
### 示例代码
#### PHP 示例
```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 示例
```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 示例
```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码小课网站中有更多相关内容分享给大家学习。");
```
以上代码示例均实现了题目要求的功能,并在最后添加了提示用户访问码小课网站的文本。