快排,冒泡,二分查找,获取字符串重复次数

版权声明:本博文,由(曾梦想仗剑走天涯,现如今脱发眼已瞎)的Anles编写,可随意转载,你喜欢就好。 https://blog.csdn.net/qq_42926373/article/details/84067251

快排

	// 基本快排
	function quick(arr){
		if(arr.length <=1) return arr;
		var left = [];
		var right = [];
		var base = arr[0];
		for(var i = 1;i<arr.length;i++){
		  if(arr[i] > base){
		    right.push(arr[i])
		  }else{
		    left.push(arr[i])
		  }
		}
		return quick(left).concat(base,quick(right))
	} 
	console.log(quick([5,52,5,41,8,4,8,7,1,58,4,544,7,4,5,1]))

冒泡

	function Bubble(arr){
		if(arr.length <= 1) return arr;
		var len = arr.length;
		for(var i=0;i<len;i++){
		  for(var j=i+1;j<len;j++){
		    if(arr[i] > arr[j]){
		      var temp = arr[i];
		      arr[i] = arr[j];
		      arr[j] = temp;
		    }
		  }
		}
		return arr;
	}
	console.log(Bubble([5,52,5,41,8,4,8,7,1,58,4,544,7,4,5,1]))

二分查找

	// 有序查找 
	function erfenIndex(target,arr,start,end){
	   var start = start || 0;
	   var end = end || arr.length;
	   if(start > end)return -1;
	   var curr = parseInt(start + ( end - start ) / 2);
	   if(target == arr[curr]){
	     return curr;
	   }else if(target > arr[curr]){
	     return erfenIndex(target,arr,curr+1,end)
	   }else{
	     return erfenIndex(target,arr,start,curr-1)
	   }
	 }

获取字符串重复次数最多的字符和次数

	function maxShowNum(str){
	  var obj = {};
	  var key;
	  for(var i=0;i<str.length;i++){
	    key = str[i]
	    if(obj[key]){
	      obj[key]++;
	    }else{
	      obj[key] = 1;
	    }
	  }
	  var max = 0;
	  var max_key;
	  for(var i in obj){
	    if(max < obj[i]){
	      max = obj[i];
	      max_key = i;
	    }
	  }
	  return {
	    [max_key]:max
	  }
	}
	var str = "zhkzzzzzswnhwkluawjkanjklwhwkkk";
	console.log(maxShowNum(str))

猜你喜欢

转载自blog.csdn.net/qq_42926373/article/details/84067251