美文网首页
303. Range Sum Query - Immutable

303. Range Sum Query - Immutable

作者: namelessEcho | 来源:发表于2017-09-26 17:17 被阅读0次

存储之前要用到的每一个有限状态机的状态(即前N个数的和)典型的DP思想。

class NumArray {
    int[] temp ;
    int[] sum ;
    public NumArray(int[] nums) {
        temp=nums;
        if(temp!=null&&temp.length>0)
        sum= sumAll(temp);
    }
    
    public int sumRange(int i, int j) {
        if(temp.length==0)
            return 0;
        int val1 = i==0? 0:sum[i-1];
        int val2 = sum[j];
        return val2-val1;
    }
    private int[] sumAll (int[] temp)
    {
        int[] result = new int[temp.length];
        result[0]=temp[0];
        for(int i = 1 ;i<result.length;i++)
        {
            result[i]=result[i-1]+temp[i];
        }
        return result ;
    }
}

相关文章

网友评论

      本文标题:303. Range Sum Query - Immutable

      本文链接:https://www.haomeiwen.com/subject/cxfeextx.html