leetcode: Segment Tree:Range Sum Query - Mutable(307)

原创 2016年08月31日 14:58:12

https://leetcode.com/problems/range-sum-query-mutable/


class NumArray {
public:
    NumArray(vector<int> &nums) {
        num.resize(nums.size() + 1);
        bit.resize(nums.size() + 1);
        for (int i = 0; i < nums.size(); ++i) {
            update(i, nums[i]);
        }
    }
    void update(int i, int val) {
        int diff = val - num[i + 1];
        for (int j = i + 1; j < num.size(); j += (j&-j)) {
            bit[j] += diff;
        }
        num[i + 1] = val;
    }
    int sumRange(int i, int j) {
        return getSum(j + 1) - getSum(i);
    }    
    int getSum(int i) {
        int res = 0;
        for (int j = i; j > 0; j -= (j&-j)) {
            res += bit[j];
        }
        return res;
    }

private:
    vector<int> num;
    vector<int> bit;
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

(LeetCode 307) Range Sum Query - Mutable(树状数组讲解)

Q: Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), incl...
  • u014616233
  • u014616233
  • 2016年04月17日 15:45
  • 1279

LeetCode 307 Range Sum Query - Mutable(范围和查询-可变)

翻译给定一个整型数组nums,找出在索引i到j之间的元素的和(i 9 update(1, 2) sumRange(0, 2) -> 8备注: 该数组只能被update函数修改。 你可以假设u...
  • NoMasp
  • NoMasp
  • 2016年06月29日 12:37
  • 2052

[leetcode] 308. Range Sum Query 2D - Mutable 解题报告

题目链接: https://leetcode.com/problems/range-sum-query-2d-mutable/ Given a 2D matrix matrix, find the...
  • qq508618087
  • qq508618087
  • 2016年03月22日 09:17
  • 2705

leetcode -- Range Sum Query - Mutable -- 重点,有线段树

https://leetcode.com/problems/range-sum-query-mutable/线段树的典型题目,参考http://bookshadow.com/weblog/2015/0...
  • xyqzki
  • xyqzki
  • 2016年01月14日 10:35
  • 1368

leetcode笔记:Range Sum Query - Mutable

题目在Range Sum Query - Immutable一题的基础上增加的难度,要求在输入数组nums后,能够修改数组的元素,每次只修改一个元素。同样要实现求数组的某个区间和的功能。...
  • liyuefeilong
  • liyuefeilong
  • 2016年01月21日 01:06
  • 3933

LeetCode 308. Range Sum Query 2D - Mutable(二维区间求和)

原题网址:https://leetcode.com/problems/range-sum-query-2d-mutable/ Given a 2D matrix matrix, find t...
  • jmspan
  • jmspan
  • 2016年04月20日 10:31
  • 795

LeetCode(307) Range Sum Query - Mutable

题目Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusi...
  • fly_yr
  • fly_yr
  • 2015年12月12日 17:21
  • 3172

[LeetCode]Range Sum Query - Mutable

题目链接:Range Sum Query - Mutable题目内容:Given an integer array nums, find the sum of the elements between...
  • xyt8023y
  • xyt8023y
  • 2015年11月20日 14:58
  • 3370

[LeetCode308]Range Sum Query 2D - Mutable

Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper lef...
  • u012175043
  • u012175043
  • 2015年11月29日 07:27
  • 4029

【矩阵子阵求和问题】 leetcode 308. Range Sum Query 2D - Mutable

// package my; public class NumMatrix { public static void main(String[] args){ int[][] examp = ...
  • chengdezhi2011
  • chengdezhi2011
  • 2017年08月06日 16:23
  • 232
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode: Segment Tree:Range Sum Query - Mutable(307)
举报原因:
原因补充:

(最多只允许输入30个字)