一:排序
1.冒泡 排序
原生:var arr=[5,4,3,2,1];
for (var i=0; i
//第一次迴圈比較輪數
for (var j=0; j
//第2次迴圈比較次數
if(arr[j]>arr[j+1])}}
呼叫api:
如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把陣列的元素都轉換成字串(如有必要),以便進行比較。
如果想按照其他標準進行排序,就需要提供比較函式,該函式要比較兩個值,然後返回乙個用於說明這兩個值的相對順序的數字。比較函式應該具有兩個引數 a 和 b,其返回值如下:
function sortnumber(a, b)
console.log('arr',arr);
console.log('arr.sort(sortnumber)',arr.sort(sortnumber));
二 :陣列反轉
原生:arr =[1,2,3,4,5,6,7,8];
for (var i=0;i
// arr[0] arr[arr.length-1-0]
// arr[1] arr[arr.length-1-1]
// arr[2] arr[arr.length-1-2]
// arr[3] arr[arr.length-1-3]
var temp = arr[i];
arr[i]= arr[arr.length-1-i];
arr[arr.length-1-i]=arr[i];
}
直接呼叫:arr.reverse()this.handle('hello'); handle = (param) =>三:陣列中去重
原生:思路:1.建立乙個新陣列,把原陣列中得第乙個元素插入到新陣列中
2.遍歷原陣列中得每乙個元素分別和新陣列中得每乙個元素進行比較
//原陣列
var arr=[1,2,3,4,5,6,7,7,7,7,7,8,8,8];
//新陣列
var arr2=;
arr2[0]=arr[0];
for (var i=0;i
let newobj = {};
for (let i = 0; i
console.log('123', newobj[param.charat(i)])
console.log('22222', newobj);
}var maxobj =
for (var k in newobj)
}console.log('3333', maxobj);
return maxobj;
}
六、 breack和continue演算法面試題(1)
1 最長不重複字串 如 abcabcd,第一步會先遇到重複字元a,則把起始的a刪除,再重b開始查不重複的字串,則為遇到重複,就去除最左端的字元 public static void main string args else max math.max max,set.size system.out....
面試題總結 選擇排序
1.原理每次從陣列元素中選出最小 或最大 的乙個元素,存放在已經排序好序列的起始位置 或者末尾位置 直到全部待排序的元素排完。2.思路第一趟排序,在待排序資料arr 1 arr 2 arr n 選取最小的資料,將其與arr 1 進行交換 第二趟排序,在待排序資料arr 2 arr 3 arr n 選...
部分面試題總結1
一 執行緒池的底層怎麼實現的?實現類為reentrantlock類,有幾個重要的方法 lock 加鎖,如果已經被獲取則等待 trylock 嘗試獲取鎖,獲取則返回true,否則false trylock long time,keepalivetime unit 在規定時間內獲取鎖 unlock 解鎖...