找出最长单词
来源:互联网 发布:微信分销php开发手册 编辑:程序博客网 时间:2024/05/29 04:24
FCC里的一道小算法题
在句子中找出最长的单词,并返回它的长度。函数的返回值应该是一个数字。
split()分解句子单词,然后计算长度再比较就可以了。
最开始是这样写的:
function findLongestWord(str) { // 请把你的代码写在这里 var arr = str.split(/\s/); var strArr = []; for (var i = 0; i < arr.length; i++) { strArr.push(arr[i].length); } strArr.sort(sortNum); return strArr[strArr.length - 1];}function sortNum (a, b) { return a - b; }//测试findLongestWord("What if we try a super-long word such as otorhinolaryngology");
后来看到了别人的Math.max( )方法发现可以优化:
方法来源
function findLongestWord(str) { // 请把你的代码写在这里 var arr = str.split(/\s/); var strArr = []; for (var i = 0; i < arr.length; i++) { strArr.push(arr[i].length); } //strArr的值作为参数 return Math.max.apply(null,strArr);}//测试findLongestWord("What if we try a super-long word such as otorhinolaryngology");
另附:数组的push方法优化
var arr1=[1,3,4];
var arr2=[3,4,5];
如果我们要把 arr2展开,然后一个一个追加到arr1中去,最后让arr1=[1,3,4,3,4,5]
arr1.push(arr2)显然是不行的。 因为这样做会得到[1,3,4,[3,4,5]]
我们只能用一个循环去一个一个的push(当然也可以用arr1.concat(arr2),但是concat方法并不改变arr1本身)代码如下:
var arrLen = arr2.length;for (var i = 0; i < arrLen; i++) { arr1.push(arr2[i]);}
自从有了Apply,事情就变得如此简单
Array.prototype.push.apply(arr1,arr2);
注意:返回值是数组长度
阅读全文
1 0
- 找出最长单词
- 找出最长的一个单词
- java实现找出一串单词中最长的单词和次数最多的单词
- 分离字符串中单词,并找出最长的
- 题目:给一个词典,找出其中所有最长的单词。
- 找出单词
- 输入一行文本,其中包含多个单词,找出最长的单词长度
- 【C语言助教】输入一行文本,其中包含多个单词,找出最长的单词长度
- 给定一个字符串列表,找出单词中最长单词,可以用l列表中的其他单词一次构建一个字符。返回具有最小字典顺序的最长单词。
- 最长单词
- 最长单词
- 最长单词
- 最长单词
- 最长单词
- 最长单词
- 最长单词
- 统计并找出一句英文句子中最长的一个单词
- 输入一串字符,找出最长和最短单词并输出
- UAa514 例题6-2 铁轨 Rails
- liunx 生产环境安装
- JavaScript Date.toGMTString() 函数详解
- Liunx命令
- Cookie和Session机制的讲解
- 找出最长单词
- 面部特征点检测的关键技术
- HDU 5536 Chip Factory(01字典树)
- Sublime Text插件:HTML+CSS+JAVASCRIPT+JSON快速格式化
- 动态规划求最大子段和
- 有关功能手机物理按键的焦点问题
- MYSQL学习笔记(十一)联结
- 数据库中内容字段 原样输出解决办法
- 线性代数基础知识