美文网首页程序员
Missing letters--从字母序列中找到缺失的字母

Missing letters--从字母序列中找到缺失的字母

作者: Ytsssss | 来源:发表于2017-09-07 10:11 被阅读0次

问题:

FreeCodeCamp--从传递进来的字母序列中找到缺失的字母并返回它。

如果所有字母都在序列中,返回 undefined。

代码:

function fearNotLetter(str) {  

    var temp=[]; 

    var answer="";  

    for(var i=0;i<str.length;i++){

      temp[i]=str.charCodeAt(i);

    }

    var len=temp.length;//temp数组的长度

    if ((temp[len-1]-temp[0])>=len){

      i=0;//初始化i

      for(var j=temp[0];j<temp[len-1]&&i<len;j++,i++){

        while(j!=temp[i]){

          answer+=String.fromCharCode(j);//将数字 j转换为字符串

          j++;//补全缺少的所有字符

      }

    }

    return answer;

    }else{

      return undefined;

    }

}


思路:

如果只是完成题目,那么非常简单,将字符串转化为数字数组后最后一位减去第一位再加一是否数组长度相等,如果相等则表示不缺少,不等的话用for循环找出即可。题目只要求找出一位缺少的字母,但如果是缺少了很多呢?

首先在第二个for循环之前初始化i作为数组的内元素个数的限制条件,然后定义j判断数组内数字是否连续,在代码里我加粗的"while(j!=temp[i])" 是最关键的地方,表示直到 j==temp[i] 时循环才结束。如果只是用if判断,比如”ad“这样的字符串只会返回”c“,用while的话会将其中缺少的字符全部返回。

相关文章

  • Missing letters--从字母序列中找到缺失的字母

    问题: FreeCodeCamp--从传递进来的字母序列中找到缺失的字母并返回它。 如果所有字母都在序列中,返回 ...

  • Missing letters

    从传递进来的字母序列中找到缺失的字母并返回它。 如果所有字母都在序列中,返回 undefined。

  • FCC-Missing Letters

    从传递进来的字母序列中找到缺失的字母并返回它。如果所有字母都在序列中,返回 undefined。fearNotLe...

  • FreeCodeCamp记录8

    从传递进来的字母序列中找到缺失的字母并返回它。 如果所有字母都在序列中,返回 undefined。 实现思路,对字...

  • FCC 题目 Missing letters

    要求 从传递进来的字母序列中找到缺失的字母并返回它。 如果所有字母都在序列中,返回 undefined。 提示 源代码

  • FreeCodeCamp筆記之:Missing letters

    题目 从传递进来的字母序列中找到缺失的字母并返回它。如果所有字母都在序列中,返回 undefined。如果你被卡住...

  • fasta格式大小写转换

    对于序列是大写字母的fa文件若将序列转换为小写字母命令 小写字母转换大写字母

  • C-杂记

    三字母序列

  • 命名规范

    1.标识符由字母和数字组成的序列,首个字母不能是数字。字母包括‘A’-‘Z’、‘a’-‘z’、‘_’、'$'或某种...

  • HTML任务一

    代码: 数字列表 字母列表 小写字母列表```2、不同类型的无序列表

网友评论

    本文标题:Missing letters--从字母序列中找到缺失的字母

    本文链接:https://www.haomeiwen.com/subject/cjgbjxtx.html