img

js中简单入门算法

2022-08-15 0条评论 1.3k次阅读 JavaScript


js 统计出现最多的字符

 let str = 'asgfhfgdhyjaaccccccsssccc';
        function findMax(str) {
            if (str.length === 1) {
                return str;
            }
            let charObj = {}
            // 新数组里没有就用1来代替
            // charAt() 方法可返回指定位置的字符
            for (let i = 0; i < str.length; i++) {
                if (!charObj[str.charAt(i)]) {
                    charObj[str.charAt(i)] = 1;
                } else {
                    charObj[str.charAt(i)] += 1;
                }
            }

            let maxChar = '',
                maxValue = 1;

            for (let k in charObj) {
                if (charObj[k] >= maxValue) {
                    maxChar = k; // 出现的次数
                    maxValue = charObj[k]; // 出现最多的
                }
            }
            return maxChar
        }
        console.log(findMax(str))

计算阶乘

如5x4x3x2x1,5x(5-1)

function jc(n) {
    if(n === 1) return;
    return n * fn(n - 1)
}

求和 1-100

function sum(n) {
    if(n === 1) return;
    return sum(n - 1) + n
}

求1-100的递归和

function jh(num1, num2) {
    let num = num1 + num2;
    if(num2 + 1 > 100) {
        return num;
    }
    return jh(num, num2 + 1);
}
let sum1 = jh(1,2)
console.log(sum1); // 5050

走楼梯

有n个台阶,每次可以走1步或者2步,走完这个楼梯有多少种走法 (n-1)+(n-2)

function zlt(n) {
    if(n === 1) return;
    return zlt(n - 1) + zlt(n - 2);
}

💬 COMMENT


🦄 支持markdown语法

👋友