LeetCode生成每种字符都是奇数个的字符串使用JavaScript解题|前端学算法

1,318 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,点击查看活动详情

有人相爱,有人夜里开车看海,我是leetcode第一题都做不出来

我真没想到LeetCode里面竟然有这种题!!!关键我还是看了解析才敢写的;

image.png

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

给你一个整数 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"

解题思路

这才是一道真正找自信的题,简单到我都不相信自己了,做出来我都不相信这是真的

看看解题的思路,你就会有一种:你不会是在骗我吧? 的感觉 image.png

  • 第一步:判断一下n是不是奇数,
  • 第二步:如果是,则输出na
  • 第三步:如果不是,则输出n-1a,和一个b

image.png

我怀着忐忑的心情写下了这一段新鲜出炉代码

var generateTheString = function(n) {
    if(n%2){
        return 'a'.repeat(n)
    }else{
        return 'a'.repeat(n-1)+'b'
    }
};

我颤抖着双手点击了提交

image.png

妈呀! 竟然击败了百分之95的人

知识点

  • 不要把事情想得太复杂

image.png