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

代码一(自己思路):

function fearNotLetter(str) {

var str1=str.split("");
var j=0;
for(var i=str1[0].charCodeAt();i<=str1[str1.length-1].charCodeAt();i++){

if(i != str1[j].charCodeAt()){
return String.fromCharCode(i);

}else{
j++;
}

}
return undefined;
}

fearNotLetter("abce");

代码二(网上摘抄)

function fearNotLetter(str) {

var arrCover=[];

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

arrCover.push(str[i].charCodeAt());

}//转化为键码

arrCover.sort(function(a,b){ return a-b; });

//重新排序

str=‘‘;

//清空

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

str+=(String.fromCharCode(arrCover[i]));

}//把转化出来的数组重新给字符串

//获取索引

var strAll=‘abcdefghijklmnopqrstuvwxyz‘;

var indexOver=strAll.indexOf(str.charAt(str.length-1));

var indexStart=strAll.indexOf(str.charAt(0));

//切割出用以比较的字符串

var strCompare=strAll.substring(indexStart,indexOver+1);

var newStr=‘‘; if(strCompare==str){ return undefined;

}

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

if(str.indexOf(strCompare[i])==-1){

newStr+=strAll[i];

}

}

console.log(newStr); return newStr;

}

ps:  可能自己的思虑不周全吧!

原文地址:https://www.cnblogs.com/yelvhen/p/8146322.html

时间: 2024-08-08 19:56:10

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

解决VS2013调试ASP.NET中无法调试的问题:当前不会命中断点。在 XXXX.dll 中找到了 XXX.cs 的副本,但是当前源代码与 XXXX.dll 中内置的版本不同。

解决思路: 一定是在某个文件夹存在了副本,结果果然不出所料. 当前日期是2016年3月10日,But C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\fd1302ff\6f7481f8\assembly\dl3\831cbe7c\a10a72a2_8c7ad101\XXXX.DLL  2016年3月4日 C:\Windows\Microsoft.NET\Framework\v4.0.30319\

FCC 中级算法题 找到缺失的字母

Missing letters 从传递进来的字母序列中找到缺失的字母并返回它. 如果所有字母都在序列中,返回 undefined. String.charCodeAt() String.fromCharCode() 思路: (1)直接将字符串转化为数字按顺序放入数组arr中; (2)如果没有缺失的字母,数组的最大值减最小值加1应该等于数组的长度,利用这一特点,创建这样一个理想的没有缺失的数组newArr; (3)从newArr中剔除与数组arr相同的元素,这样就找到了丢失字母的数字,由于可能不止

Aspose.Words使用教程之在文档中找到并替换文本

Aspose.Words使用教程之在文档中找到并替换文本 Aspose.Words是一款先进的文档处理控件,在不使用Microsoft Words的情况下,它可以使用户在各个应用程序中执行各种文档处理任务,其中包括文档的生成.修改.渲染.打印,文档格式转换和邮件合并等文档处理.此外,Aspose.Words支持DOC,OOXML,RTF,HTML,OpenDocument, PDF, XPS, EPUB和其他格式. 使用范围:在前的范围内替换查找或替换特定的字符串,因为它会返回替换的数量,所以它

在一个字符串中找到第一个仅仅出现一次的字符

Google 2006年的一道笔试题,难度系数低 题目描写叙述: 在一个字符串中找到第一个仅仅出现一次的字符.如输入abaccdeff,则输出b. 逻辑分析: 1.简单粗暴O(n^2),一个显而易见的想法是像冒泡排序一样,採用两个循环,内层循环对外层判定元素arr[i]进行轮询,当发现arr[i] == arr[j]时,本次循环终止,显然,时间复杂度O(n^2),不使用额外空间. #include <stdio.h> #include <stdlib.h> #include <

在一个字符串中找到第一个只出现一次的字符

题目:在一个字符串中找到第一个只出现一次的字符. 例如: 输入abaccdeff,则输出b 思路剖析: 由于题目与字符出现的次数相关,可以统计每个字符在该字符串中出现的次数. 要达到这个目的,需要一个数据容器来存放每个字符出现的次数. 在这个数据容器中可以根据字符来查找它出现的次数.在常用的数据容器中,哈希表正是这个用途. 由于字符是一个长度为8的数据类型,因此总共有256种可能.于是我们创建一个长度为256的数组,每个字母根据其ASCII码值作为数组的下标对应数组的对应项.而数组中存储的是每个

一个字符串中找到第一个只出现一次的字符

题目描述: 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符. 如输入 abaccdeff,则输出 b. 输入: 输入有多组数据每一组输入一个字符串. 输出: 输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1 我们这里有两种解题思路 1.蛮力法. 遍历数组,每找到一个字符是遍历一下整个数组,看看该字符是否存在数组下表不一致,但是ASSIC码值一样的字符还存在,如果不存在,则是返回该字符,如果存在,则继续遍历.该算法的时间复杂度为O(n

张曼菱:从迷茫中找到方向

同学们,感谢你们来听讲座.今天天气好,又是周末,我想很多同学应该是外出了. 本来准备讲一些西南联大的故事,谈一下大学生活应该如何度过,怎样使自己成为有用之才等等.我去年九月在三联书店出的一本书<西南联大行思录>,里面全都是西南联大人的口述历史,基本上是小故事.很有趣,你们可以自己找来看看. 然而,看见你们坐在这里,眼睛里带着迷茫,像来听一堂课那样地沉默着和认真着.我忽然改变了主意,我不想讲那些故事啦,因为西南联大的故事离你们实在是太远了. 我说的远,不是时代和时间的远,而是人与人之间的远. 你

语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet,语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类;目标检测只有两类,目标和非目标,就是在一张图片中找到并用box标注出所有的目标.

from:https://blog.csdn.net/u012931582/article/details/70314859 2017年04月21日 14:54:10 阅读数:4369 前言 在这里,先介绍几个概念,也是图像处理当中的最常见任务. 语义分割(semantic segmentation) 目标检测(object detection) 目标识别(object recognition) 实例分割(instance segmentation) 语义分割 首先需要了解一下什么是语义分割(s

我的Android进阶之旅------&gt;Android【设置】-【语言和输入法】-【语言】列表中找到相应语言所对应的列表项

今天接到一个波兰的客户说有个APP在英文状态下一切运行正常,但是当系统语言切换到波兰语言的时候,程序奔溃了.所以首先我得把系统的语言切换到波兰语,问题是哪个是波兰语呢? 我还真的不认识哪个列表项代表着波兰语.如下图所示:进入到[设置]-[语言和输入法]-[语言]列表后,我就傻眼了,哪个是波兰语呢?本文将介绍如何在列表中找到相应语言所对应的列表项. ([Settings]-[Language & input]-[Language]) 哪个是波兰语呢?好吧,我只认识 日本语.中文.英语的几项,其他的