返回介绍

solution / 1300-1399 / 1374.Generate a String With Characters That Have Odd Counts / README

发布于 2024-06-17 01:03:20 字数 2479 浏览 0 评论 0 收藏 0

1374. 生成每种字符都是奇数个的字符串

English Version

题目描述

给你一个整数 n,请你返回一个含_ n _个字符的字符串,其中每种字符在该字符串中都恰好出现 奇数次 __

返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。

 

示例 1:

输入:n = 4
输出:"pppz"
解释:"pppz" 是一个满足题目要求的字符串,因为 'p' 出现 3 次,且 'z' 出现 1 次。当然,还有很多其他字符串也满足题目要求,比如:"ohhh" 和 "love"。

示例 2:

输入:n = 2
输出:"xy"
解释:"xy" 是一个满足题目要求的字符串,因为 'x' 和 'y' 各出现 1 次。当然,还有很多其他字符串也满足题目要求,比如:"ag" 和 "ur"。

示例 3:

输入:n = 7
输出:"holasss"

 

提示:

  • 1 <= n <= 500

解法

方法一:构造

如果 $n$ 为奇数,那么直接构造 $n$ 个 'a' 即可。

如果 $n$ 为偶数,那么构造 $n-1$ 个 'a' 和 $1$ 个 'b' 即可。

时间复杂度 $O(n)$,空间复杂度 $O(n)$。其中 $n$ 为字符串长度。

class Solution:
  def generateTheString(self, n: int) -> str:
    return 'a' * n if n & 1 else 'a' * (n - 1) + 'b'
class Solution {
  public String generateTheString(int n) {
    return (n % 2 == 1) ? "a".repeat(n) : "a".repeat(n - 1) + "b";
  }
}
class Solution {
public:
  string generateTheString(int n) {
    string ans(n, 'a');
    if (n % 2 == 0) {
      ans[0] = 'b';
    }
    return ans;
  }
};
func generateTheString(n int) string {
  ans := strings.Repeat("a", n-1)
  if n%2 == 0 {
    ans += "b"
  } else {
    ans += "a"
  }
  return ans
}
function generateTheString(n: number): string {
  const ans = Array(n).fill('a');
  if (n % 2 === 0) {
    ans[0] = 'b';
  }
  return ans.join('');
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文