一:排序算法
|
|
快速排序简单来讲就是我们选定一个数,然后比它小的都放在它左边,大于等于它的都放在它右边,那么这个时候对这个数来讲他的位置已经排到了正确的地方了,接下来要做的就是在它的左右两边分别再进行类似操作。function quickSort(arr,l,r){ var i,j,x; if(l< r){ i=l; j=r; x=arr[i]; while(i< j){ while(i< j&&arr[j]>=x){ j--; } if(i< j){ arr[i]=arr[j]; } while(i< j&&arr[i]< x){ i++; } if(i< j){ arr[j]=arr[i]; } } arr[i]=x; //递归调用 quickSort(arr,i+1,r); quickSort(arr,l,i-1); } return arr; } 二:阶乘算法 三:回文字符串判断 如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。 四:翻转字符串算法 第二种翻转字符串算法: 五:整型数组去重算法 主要考察程序员对Object的使用,利用key来进行筛选。 六:数组中最大差值
七:随机指定长度字符串
八:统计字符串中次数最多字母 function findMaxDuplicateChar(str) { if(str.length == 1) { return str; } var charObj = {}; for(var i = 0; i < str.length; i++) { if(!charObj[str.charAt(i)]) { charObj[str.charAt(i)] = 1; } else { charObj[str.charAt(i)] += 1; } } var maxChar = '', maxValue = 1; for(var k in charObj) { if(charObj[k] >= maxValue) { maxChar = k; maxValue = charObj[k]; } } return maxChar; } 九:生成菲波那切数列数组 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列主要考察递归的调用。通过定义fibo[i] = fibo[i-1]+fibo[i-2];来生成斐波那契数组。 转载于〖 作者:前端李李 〗〖 发布日期:2016-11-14 〗http://www.qdfuns.com/notes/36458/33b83dab7cb5cbb9cacdc6722feeaff6.html |
前端中经常出现的javaScript算法总结
猜你喜欢
转载自blog.csdn.net/weilixin88/article/details/53912530
今日推荐
周排行