js初级算法

本文介绍了一种使用JavaScript统计字符串中字符出现频率的方法,并通过一个实例展示了如何找出出现次数最多的字符及其频次。此外,还详细讲解了快速排序算法的实现过程,包括选取基准点、划分数组和递归调用。
摘要由CSDN通过智能技术生成

1.JS中判断字符串中出现次数最多的字符及出现的次数的简单实例


<script type="text/javascript">
    var str = 'qwertyuilo.,mnbvcsarrrrrrrrtyuiop;l,mhgfdqrtyuio;.cvxsrtyiuo';
    var json = {};
    //遍历str拆解其中的每一个字符将其某个字符的值及出现的个数拿出来作为json的kv
    for (var i = 0; i < str.length; i++) {
      //判断json中是否有当前str的值 
      if (!json[str.charAt(i)]) {
        //如果不存在 就将当前值添加到json中去
        json[str.charAt(i)] = 1;
      } else {
        //else的话就让数组中已有的当前值的index值++;
        json[str.charAt(i)]++;
      }
    }
      //存储出现次数最多的值和次数
      var number = '';
      var num=0;
      //遍历json  使用打擂算法统计需要的值
      for (var i in json) {
        //如果当前项大于下一项
        if (json[i]>num) {
          //就让当前值更改为出现最多次数的值
          num = json[i];
          number = i;
        }
      }
      //最终打印出现最多的值以及出现的次数
      alert('出现最多的值是'+number+'出现次数为'+num);
     
  </script>

2.快速排序算法


var quickSort = function(arr) {
  if (arr.length <= 1) {//如果数组长度小于等于1无需判断直接返回即可 
        return arr;
    }
  var pivotIndex = Math.floor(arr.length / 2);//取基准点 
  var pivot = arr.splice(pivotIndex, 1)[0];//取基准点的值,splice(index,1)函数可以返回数组中被删除的那个数
  var left = [];//存放比基准点小的数组
  var right = [];//存放比基准点大的数组 
  for (var i = 0; i < arr.length; i++){ //遍历数组,进行判断分配 
    if (arr[i] < pivot) {
      left.push(arr[i]);//比基准点小的放在左边数组 
    } else {
      right.push(arr[i]);//比基准点大的放在右边数组 
    }
  }
         //递归执行以上操作,对左右两个数组进行操作,直到数组长度为<=1; 
  return quickSort(left).concat([pivot], quickSort(right));
};

Math.floor(x) //返回小于等于x的最大整数:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值