常見算法2:https://segmentfault.com/a/1190000008593715
/**
* @purpose: 冒泡排序
* @param: {Array} arr => 需要排序的數(shù)組;
* @return: {Array} arr => 排序后的數(shù)組;
*/
/*function bubble(arr) {
if(arr.length < 1) throw Error('數(shù)組為空數(shù)組');
if(arr.length === 1) return arr;
var len = arr.length;
for(var i=1;i<len;i++) {
for(var j=0;j<len-1;j++) {
if(arr[j]>arr[j+1]) {
// 不用第三個變量,交互兩個值
arr[j] += arr[j+1];
arr[j+1] = arr[j] - arr[j+1];
arr[j] = arr[j] - arr[j+1];
}
}
}
return arr;
}
console.log(bubble([3,2,5,7,9,1]))*/
/**
* @purpose: 統(tǒng)計出現(xiàn)最多的字符串及數(shù)目
* @param: {String} str => 任意字符串;
* @return:
*/
/*function statisticMaxChart(str) {
// 字符串長度為1時
if(str.length === 1) return str;
// 統(tǒng)計字符及出現(xiàn)的次數(shù)
var strObj = {};
for(var i=0;i<str.length;i++) {
if(!strObj[str.charAt(i)]){
strObj[str.charAt(i)] = 1;
}else{
strObj[str.charAt(i)] += 1;
}
}
// 統(tǒng)計出現(xiàn)最多字符及次數(shù)
var maxValue = '',maxSum = 1;
for(var k in strObj) {
if(strObj[k] > maxSum) {
maxValue = k;
maxSum = strObj[k];
}
}
console.log(maxValue+'出現(xiàn)最多為'+maxSum+'次')
}
statisticMaxChart('jacksayhelloyouknow')*/
/**
* @purpose: 二分查找法
* @param: {Array} arr => 數(shù)據(jù)源;{String} key => 需要查找的數(shù)據(jù)
* @return:
*/
/*function cutSearch(arr,key) {
var low = 0,height = arr.length;
while(low <= height) {
var mid = parseInt((low+height)/2); // 4
if(key == arr[mid]) {
return arr[mid]
}else if(key > arr[mid]) {
low = mid + 1;
}else if(key < arr[mid]) {
height = mid - 1;
}
}
return -1;
}
console.log(cutSearch([1,2,3,4,5,6],4))*/
/**
* @purpose: 二分查找法(遞歸)
* @param: {} arr => ;
* @return:
*/
function test() {
}
/**
* @purpose: 數(shù)組去重(hash)
* @param: {Array} arr => 需要去重的數(shù)組;
* @return: {Array} newArr => 返回去重后的新數(shù)組
*/
function unique1(arr) {
if(arr.length === 1) return arr;
var obj = {},newArr = [];
for(var i=0;i<arr.length;i++) {
if(!obj[arr[i]]) {
obj[arr[i]] = true;
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(unique1([4,3,6,2,7,2,3]))
/**
* @purpose: 數(shù)組去重(排序)
* @param: {} arr => ;
* @return:
*/
function test(arr) {
}
/**
* @purpose: 數(shù)組去重(常規(guī))
* @param: {} arr => ;
* @return:
*/
function test() {
}