面试中最常见的算法

98 阅读1分钟

常见的程序和算法

路过的朋友,可以点个赞,关注一下~~~

1. 九九乘法表

function func(){
    let str = "";
    // 控制行数
    for(let i=1; i<10; i++){
        // 控制每行的列数
        for(let j=1; j<=i; j++){
            str += j+"*"+i+"="+i*j;
            str += "\t"
        }
    str += "\n"
    }
    console.log(str)
}

2. 百钱买百鸡

for(i=0;i<21;i++){
    for(j=0;j<34;j++){
        for(z=0;z<101;z++){
            if((i+j+z)``100&&(i*5+j*3+z/3)``100)
            {
                console.log(i+":"+i+",  "+j+":"+j+",  "+z+":"+z,);
            }
        }
    }
}

3. 冒泡排序法

function fun(arr){
    for(let i=0;i<arr.length;i++){
    let flog = true;

        for(let j=0;j<arr.length-i-1;j++){
            if(arr[j]>arr[j+1]){
                let c = arr[j];
                arr[j+1] = c;
                arr[j] = arr[j+1];
                flog = true;
            } 
        console.log('arr :'+ arr);
        }
        if(!flog){
           break;
        }
    }
}

4. 选择排序

function fun(arr){
    let minIndex,temp
    for(let i=0;i<arr.length-1;i++){
        minIndex = i;
        for(j=i+1;j<arr.length;j++){
            if(arr[j]<arr[minIndex]){
                minIndex = j;
            }
        }
    }
    temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;
}

5. 插入排序

//插入排序
let arr = [3,2,1];
let current,preIndex;
for(let i=1;i<arr.length;i++){
    current = arr[i];
    preIndex = i - 1;
    while(preIndex>=0 && arr[preIndex]>current){
        arr[preIndex+1] = arr[preIndex];
        preIndex--;
    }
    arr[preIndex+1] = current;
}
console.log('arr :', arr);