FCC基本算法(二)
来源:互联网 发布:csol登录失败或是网络 编辑:程序博客网 时间:2024/06/06 08:59
1.Return Largest Numbers in Arrays
右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。
思路:两个循环即可解决,内循环找到小数组的最大值,外循环将最大值放进一个新数组里面。
function largestOfFour(arr) { // You can do this! var newArr = []; for(var i = 0; i < arr.length; i++){ var temp = 0; for(var j = 0; j < arr[i].length; j++){ if(arr[i][j] > temp){ temp = arr[i][j]; } } newArr.push(temp); } return newArr;}largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
2.Confirm the Ending
检查一个字符串(str)是否以指定的字符串(target)结尾。
如果是,返回true;如果不是,返回false。
思路:用substr()方法返回字符串中从指定位置开始到指定长度的子字符串,再与target匹配即可。
function confirmEnding(str, target) { var s = target.length; return str.substr(str.length - s, s) === target;}confirmEnding("Bastian", "n");
3.Repeat a string repeat a string
重要的事情说3遍!
重复一个指定的字符串 num次,如果num是一个负数则返回一个空字符串。
思路:当num > 0时,循环执行str += temp; 直到i < num - 1即可。
function repeat(str, num) { // repeat after me var temp = str; if(num > 0){ for(var i = 0; i < num - 1; i++){ str = str + temp; } }else{ return ""; } return str;}repeat("abc", 3);
4.Truncate a string
用瑞兹来截断对面的退路!
截断一个字符串!
如果字符串的长度比指定的参数num长,则把多余的部分用...来表示。
切记,插入到字符串尾部的三个点号也会计入字符串的长度。
但是,如果指定的参数num小于或等于3,则添加的三个点号不会计入字符串的长度。
思路:slice()方法提取字符串中的一部分,并返回这个新字符串。当num > 3时,判断str的长度是否大于num,如果大于,则用slice()方法返回0到num - 3长度的字符串并加上“...”;如果小于或等于num,则直接返回。当num <= 3时,用slice()返回0到num长度的字符串并加上“...”;
function truncate(str, num) { // Clear out that junk in your trunk var newStr = ""; if(num > 3){ if(str.length > num){ newStr = str.slice(0, num-3) + "..."; }else if(str.length <= num){ return str; } }else{ return str.slice(0, num) + "..."; } return newStr;}truncate("A-tisket a-tasket A green and yellow basket", 11);
5.Chunky Monkey
猴子吃香蕉可是掰成好几段来吃哦!
把一个数组arr按照指定的数组大小size分割成若干个数组块。
例如:chunk([1,2,3,4],2)=[[1,2],[3,4]];
chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];
思路:循环用slice()方法将size长度的字符串放进新的数组中。
function chunk(arr, size) { // Break it up. var newArr = []; for(var i = 0; i < arr.length; i += size){ newArr.push(arr.slice(i,i + size)); } return newArr;}chunk(["a", "b", "c", "d","e"], 2);
- FCC基本算法(二)
- FCC基本算法(一)
- FCC基本算法(三)
- FCC中级算法(二)
- FCC中级算法(一)
- FCC中级算法(三)
- FCC中级算法(四)
- fcc算法题
- FCC参阅笔记之有趣的算法(下)
- FCC算法:二、Factorialize a Number--计算一个整数的阶乘
- fcc
- FCC
- FCC Basic Algorithm Scripting 基础算法集
- Javascript fcc的高级算法题
- FCC算法:十一、截断数组--Slasher Flick
- FCC算法:十二、比较字符串--Mutations
- (转)浅谈算法和数据结构: 二 基本排序算法
- 基本算法题练习二
- JS的导出功能
- ARM Linux开发环境建立总结!
- android selector全解
- 炉石传说-CCF往届题
- 02 ”hogwarts“击败js吧—.—数组和字符串常见方法
- FCC基本算法(二)
- Java上帝类(Object类)源码总结(1)
- 油动多旋翼各种方案比较和发展趋势(附PPT)
- oracle被锁常用查询语句
- 开通博客
- 【干货分享】流程DEMO-采购预算编制
- UnrecognizedPropertyException: Unrecognized field “***” ignorable
- jquery 轮播图,左右切换
- angularJS1 路由隐藏tab