微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript 中最长的字母链

如何解决JavaScript 中最长的字母链

我需要编写一个程序,找出单词中最长的字母链,并将其显示在 console.log 中并显示它们的长度。示例 aaaAAAAdddeess - console.log( 'AAAA',4 )。程序必须是 JavaScript 并且必须区分大写字母。我试过类似的东西

const word = 'aaadddAAAwwwweee'

let newWord = ' '

for (let i = 0; i < word.length; i++) {

  if (word[i] === word[i + 1]) {

    newWord += word[i] + word[i + 1]

    i++

  }

}

console.log(newWord,newWord.lenght)

解决方法

您可以将单词拆分为字母并检查每个字母与下一个字母。然后将当前序列推入一个数组,它将是当前最大序列。每次迭代用最大序列检查当前最长序列的大小。

  const word = 'aaadddAAAwwwweee'

  let lettersArr = word.split('');
  let currentSequence = [];
  let maxSequence = [];

  for (let index = 0; index < lettersArr.length; index++) {
      let element = lettersArr[index];
      currentSequence = [element];

      for (let i = index + 1; i < lettersArr.length; i++) {
          if (lettersArr[index] == lettersArr[i]) {
              currentSequence.push(lettersArr[index]);
          } else {
              break;
          }
      }

      if (currentSequence.length > maxSequence.length) {
          maxSequence = currentSequence;
      }
  }

  let newWord = maxSequence.join('');

  console.log(newWord,newWord.length);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。