js:一些常见的算法题

//前端常见的算法题
//Q1 判断字符串或句子是否为回文?(回文例如:abcba,字符串会形成一个回路,颠倒过来是一样)
  function isHui(str){
  var arr_str=str.split("")
  var new_str=arr_str.reverse().join("")
    console.log(new_str)
  if(str==new_str){
  alert(str+"就是一个回文")
  }else{
  alert(str+"不是回文")
  }
  }
 //Q2 数组去重
  function uniqueArr(arr){
    var new_arr=[],ojb={}

    for(var a=0;a<arr.length;a++){

     let type=typeof(arr[a]) //判断每项的类型

   ojb[arr[a]]=ojb[arr[a]]||[];//如果存在就用存在的,如果不存在就赋值一个空数组

    if(ojb[arr[a]].indexOf(type)<0){
       ojb[arr[a]].push(type)
       new_arr.push(arr[a])
    }
    }
    return new_arr;
  }
  //Q3 统计一个字符串种最多的字母
  function getMost(str){
    if(str.length==1){
      return str;
    }
    var mostStr="",time=0,ojb={}
    for(var a=0;a<str.length;a++){
       if(!ojb[str.charAt(a)]){
        ojb[str.charAt(a)]=1
       }else{
        ojb[str.charAt(a)]+=1
       }
    }
    for(var item in ojb){
      if(ojb[item]>time){
        time=ojb[item]
        mostStr=item
      }
    }
    return mostStr;
  }
 //Q4 排序算法,在快速排序中一定要记得设置一个最终的循环终止的条件
  function arrSort(arr){
    for(var a=0;a<arr.length;a++){
      for(var j=a+1;j<arr.length;j++){
        if(arr[a]>arr[j]){
          var tmp=""
          tmp=arr[a]
          arr[a]=arr[j]
          arr[j]=tmp
        }
      }
    }
    return arr;
  }
  function fastSort(arr){
    if(arr.length<=1){
      return arr;
    }
    var leftArr=[],rightArr=[],q=arr[0]
    for(var a=1;a<arr.length;a++){
      if(arr[a]>q){
        rightArr.push(arr[a])
      }else{
        leftArr.push(arr[a])
      }
    }
    return [].concat(fastSort(leftArr),[q],fastSort(rightArr))
  }



//Q6:生成随机字符串
  function ranStr(n){
    var str="absbcityoepqlvm12345678"
    var ranS=""
    for(var a=0;a<n;a++){
      var i=Math.floor(Math.random()*(str.length-1))
       ranS+=str.charAt(i)
    }
    return ranS;
  }
//Q7:求数组中最大值和最小值的差
 function maxDiff(arr){
    var max=arr[0],min=arr[0];
    for(var a=1;a<arr.length;a++){
      if(arr[a]>max){
        max=arr[a]
      }else{
        min=arr[a]
      }
    }
    return max-min;
 }

猜你喜欢

转载自blog.csdn.net/qq_37983691/article/details/79231252