2017-12-07 6 views
2

leetcode 사이트의 문제를 겪고 있었고 접근 방법을 모르는 문제가있었습니다. ,Js - 해결 도전 범위 합계 쿼리 - 객체 및 해당 속성 생성시 변경 불가능

주어진 정수 배열 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 함수에 대한 호출이 많이 있습니다.

그리고 이것은 코드입니다 : 나는에 가정

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

오전 : 내가 할 방법을 모르는 무엇

/** 
* @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) 
*/ 

가, 또는 정확히 어떤 뜻이 부분입니다 국화와 creats 및 배열을 사용하는 createNew 속성을 만들고, num이 이미 배열로 전송 된 경우 어떻게해야합니까? 정확히 무엇을 의미하는지

+0

내 짐작으로 그들은 'var obj = new NumArray (nums)'를 망쳐 놓았다. – Bergi

+0

이 코드에 첨부 된 연습의 목적을 진술 할 수 있습니까? –

+0

작업에 대한 설명을 추가했습니다. – Leff

답변

1

이 일부입니다

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

그들은 그것을 엉망 의미 단지 (여전히 불필요 JS와 같은 기능적인 언어 복잡하다) var obj = new NumArray(nums).

토론 섹션의 모든 이전 자바 스크립트 제출물 (예 : this one)의 댓글에 올바른 코드가 있으므로 분명히 설명이 바뀌 었습니다.

+0

고맙습니다. – Leff