第 09 天 日积月累养成习惯( leetcode 413 416 )

JavaScript 解答

var numberOfArithmeticSlices = function (A) {
        if (A.length < 3) return 0;
        var dp = [];
        if (A[2] - A[1] === A[1] - A[0]) {
            dp[2] = 1;
        } else {
            dp[2] = 0;
        }
        var result = dp[2];

        for (var i = 3; i < A.length; i++) {
            if (A[i] - A[i - 1] === A[i - 1] - A[i - 2]) {
                dp[i] = dp[i - 1] + 1;
                result += dp[i];
            } else {
                dp[i] = 0;
            }
        }

        return result;
};

JavaScript 解答

var canPartition = function (nums) {
    var sum = nums.reduce((a, b) => a + b, 0);
    if (sum % 2) return false;
    sum = sum / 2;

    var n = nums.length;
    var dp = [];

    while (dp.push(new Array(sum + 1).fill(0)) < n + 1) ;


    for (var i = 0; i < n + 1; i++) {
        dp[i][0] = 1;
    }

    for (var i = 1; i < n + 1; i++) {
        for (var j = 1; j < sum + 1; j++) {
            if (dp[i - 1][j]) dp[i][j] = 1;
            if (j >= nums[i - 1] && dp[i - 1][j - nums[i - 1]]) dp[i][j] = 1;
        }
    }

    // console.log(dp);

    return !!dp[n][sum];

};

<<:  Day 12 : 套件是甚麽,可以吃吗(

>>:  Day13-D3 的 Drag 拖曳

[Java学习笔记] 使用Builder Pattern 使物件初始化有预设参数

什麽是预设参数? 允许函式在没有传入值的情况下,以指定的预设值初始化。 直观方法 建构子多载 pub...

[Day09] Tableau 轻松学 - Data Source 页面

前言 若实作中遇到与资料来源有关的设定,会回到 Data Source 页面来做调整,因此在进入实作...

Proxmox VE 虚拟机防火墙管理 (二)

当我们已经开始使用防火墙规则管理连出入的网路传输时,随着制订规则数目越来越多,在管理上就会遇到开始...

[从0到1] C#小乳牛 练成基础程序逻辑 Day 15 - if..else if..else 条件判断

if..else if..else 条件式 | 3个选项以上用 | DEMO 🐄点此填写今日份随堂...

JavaScript Day06 - 流程判断

if else 与 else if 参考 Day06 - 变数(03) - BMI、Day11 - ...