常见算法的小小总结

刚接触算法,以为就是很简单的计算方法。学习了算法之后才知道算法就像是“菜谱”,特定的算法就是菜谱中一道菜的制作流程。

算法:就是定义良好的计算过程,取一个或者一组的值作为输入,并产生一个或者一组的值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化为输出结果。

下面是几道我最近了解到的常见算法题,有些做了简单的解释,如果有兴趣的可以阅读。

1. 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。阶乘通常简写成 n!

例如: 5! = 1 * 2 * 3 * 4 * 5 = 120)
要求:阶乘函数,factorialize(0) 应该返回1

2.找到提供的句子中最长的单词,并计算它的长度。
注意:函数的返回值为数字;"The quick brown fox jumped over the lazy dog"

 
 
3.确保字符串的每个单词首字母都大写,其余部分小写;"I'm a little tea pot"

4.把一个数组arr按照置顶的数组大小size分割成若干数组块
 例如:chunk([1,2,3,4],2)=[[1,2],[3,4]];chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];
分析: 这个chunk函数的作用;这个函数是用在数组上的一个方法,
 它将原来数组中的元素,按照给定的长度进行均分,均分后每一部分都是一个新的(小)数组,
 然后将这些均分的每一部分再次组成一个新的(大)数组;如果不能够均分的话,
 新的(大)数组的最后一个元素则包含这些剩下的元素。依赖arrayObject.slice(start,end);
 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
 注释:您可使用负值从数组的尾部选取元素。
 注释:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。定义数组var myArray=new Array()

5.重复一个指定的字符串num次,如果num是负数则返回空字符串
注释:repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。


6.js快排 sort 函数递归算法去做


7.数组的冒泡排序

8.数组去重

 
 
9.查找字符串里面那个字符最多,有几个

 
 
 
 
10.平衡数组[100,10000,100000,1000,10]





猜你喜欢

转载自blog.csdn.net/auroraone/article/details/80243774