public void Tests() { var matrix = new int[, ] { { 3, 0, 1, 4, 7 }, { 5, 6, 3, 2, 1 }, { 1, 2, 0, 1, 3 }, { 8, 4, 2, 0, 2 } }; RangeSum2D sum = new RangeSum2D(matrix); Assert.AreEqual(11, sum.SumRegion(1, 1, 2, 2)); sum.Update(2, 1, 4); Assert.AreEqual(13, sum.SumRegion(1, 1, 2, 2)); Assert.AreEqual(16, sum.SumRegion(1, 1, 2, 3)); Assert.AreEqual(24, sum.SumRegion(0, 0, 1, 3)); Assert.AreEqual(12, sum.SumRegion(1, 1, 1, 4)); sum.Update(1, 4, 0); sum.Update(1, 1, 0); sum.Update(1, 2, 0); sum.Update(1, 3, 0); Assert.AreEqual(0, sum.SumRegion(1, 1, 1, 4)); }
public void Test1() { var matrix = new int[, ] { { 3, 0, 1, 4, 2 }, { 5, 6, 3, 2, 1 }, { 1, 2, 0, 1, 5 }, { 4, 1, 0, 1, 7 }, { 1, 0, 3, 0, 5 } }; var sol = new RangeSum2D(matrix); var rangeSum = sol.SumRegion(2, 1, 4, 3); Assert.Equal(8, rangeSum); rangeSum = sol.SumRegion(1, 1, 2, 2); Assert.Equal(11, rangeSum); rangeSum = sol.SumRegion(1, 2, 2, 4); Assert.Equal(12, rangeSum); }