1虱疏、求兩個數之和等于target值
let sum = function (nums, target) {
let length= nums.length;
let value= [];
for (var i= 0; i< length; i++){
let tempNum= target -nums[i];
value.push(tempNum);
let index=value.indexOf(nums[i+ 1]);
if (index> -1) {
return [index, i+1]
?break;
}
}
};
console.log( sum([1,6,4,7,2,3],13))
2嵌洼、已經升序的數組? 所有和為指定值的一對等于19的一對數字
let?sum = 19;
let?arr = [1, 2, 4, 6, 9, 10, 12,15, 17]?/
for?(var?i = 0, j = arr.length- 1; i < j;) {
if?(arr[i] + arr[j] < sum) {
i++;
}?else if?(arr[i] + arr[j] > sum) {
j--
}?else?{
console.log(arr[i] + '和' + arr[j])
i++;
j--;
}
}
?//選擇排序
1巷疼、找出數組中最小(大)的值娜汁,把他放在數組起始位置固棚。
2计寇、找出剩余數組中最小(大)的值匙姜,把他放在數組的尾部畅厢。
3、重復第二部氮昧,直至排完框杜。
function selectionSort(arr) {
var len = arr.length;
var minIndex, temp;
for (var i = 0; i < len - 1; i++) {
minIndex = i;
for (var j = i + 1; j < len; j++) {
if (arr[j] < arr[minIndex]) {? ? // 尋找最小的數
minIndex = j;? ? ? ? ? ? ? ? // 將最小數的索引保存
}
}
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
return arr;
}
console.log(selectionSort([6,7,3,5,8,1,4,9,2]))
3、生成斐波那契數列 0,1,1,2,3,5,8,13,21.....
getFibonacci(n) {
? let fibArr= []
? let i= 0
? while (i< n) {
? ? if (i<= 1) {
? ? ? fibArr.push(i)
? ? } else {
? ? ? fibArr.push(fibArr[i- 1] + fibArr[i- 2])
}
? ? i++;
? }
? return fibArr
}