码迷,mamicode.com
首页 > 编程语言 > 详细

js的算法题

时间:2018-08-02 17:45:51      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:concat   code   冒泡   csharp   style   color   算法   find   char   

1、统计一个字符串中出现最多的字母

     给出一个字符串,统计出现次数最多的字母。如:“wqeqwhixswiqhdxsq”,其中出现最多的是q.

   js算法的实现

function findMax(str){     
     if  (str.length ==1){
        return str;
     }
  let charObj = {};
  for (let i=0;i<str.length;i++) {
      if(!charObj[str.charAt(i)]){
           charObj[str.charAt(i)]=1;
         } else{
             charObj[str.charAt(i)]+=1;
       }

   }

      let maxChar=‘‘,
             maxValue=1;
      for (var k in charObj){
          if (charObj[k]>=maxValue){
             maxChar=k;
             maxValue = charObj[k];


       }
    }
 
    return maxChar;



}

  

2、顺序算法

    a、冒泡排序

function mao(arr){
    for (let i=0,i<arr.length-1,i++){

      for(let j=0;j<arra.length-i-1; j++){
        if (arr[i]>arr[j]){
             let tem =arr[i];
                 arr[i]=arr[j];
                  arr[j] =tem; 
          } 
        }
   } 
    return arr;
 }

    b、快速排序(快排)

function quick(arr){
if (arr.length<=1){
           return arr;
     }

    let leftArr=[];
    let rightArr=[];
    let q=arr[0];
     for(let i=1; i<arr.length;i++){
        if (arr[i]>q){
          rightArr.push(arr[i]);     
      } else{
           leftArr.push(arr[i]);
      }
    }
   return [].concat(quick(leftArr),[q],quick(rightArr));

}

6、斐波那契数列

     js的实现方法

function getFib(n){
   var fibairr =[];
   var  i=0;
   while(i<n) {
     if (i<=1){
       fibarr.push(i);
      } else{
     fibarr.push(fibarr[i-1])
        } 
    i++;
  }

  return fibarr;
}

js的算法题

标签:concat   code   冒泡   csharp   style   color   算法   find   char   

原文地址:https://www.cnblogs.com/na-w/p/9408347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!