2

leetcodeサイトの問題を調べていたところ、アプローチ方法がわからない問題がありました。これは彼らがそれを説明する方法です:

整数配列 nums を指定して、インデックス i と j (i ≤ j) の間の要素の合計を求めます。

例: 与えられた nums = [-2, 0, 3, -5, 2, -1]

sumRange(0, 2) -> 1 sumRange(2, 5) -> -1 sumRange(0, 5) -> -3 注: 配列は変更されないと仮定してもかまいません。sumRange 関数には多くの呼び出しがあります。

そして、これはコードです:

/**
 * @param {number[]} nums
 */
var NumArray = function(nums) {
   this.nums = nums;
};

/** 
 * @param {number} i 
 * @param {number} j
 * @return {number}
 */
NumArray.prototype.sumRange = function(i, j) {
    let sum = 0;
    for (i; i <= j; i++) {
        sum += this[i];
    }
    return sum;
};

/** 
 * Your NumArray object will be instantiated and called as such:
 * var obj = Object.create(NumArray).createNew(nums)
 * var param_1 = obj.sumRange(i,j)
 */

どうすればいいのかわからない、またはそれが正確に意味するのはこの部分です:

var obj = Object.create(NumArray).createNew(nums)

mums と creats と配列を取るプロパティ createNew を作成すると思いますか? 数値が既に配列として送信されている場合、なぜそれを行う必要がありますか?

4

1 に答える 1