Press "Enter" to skip to content

Posts tagged as “sum”

花花酱 LeetCode 304. Range Sum Query 2D – Immutable


Given a 2D matrix matrix, find the sum of the elements inside the rectangle defined by its upper left corner (row1, col1) and lower right corner (row2, col2).

Range Sum Query 2D
The above rectangle (with the red border) is defined by (row1, col1) = (2, 1) and (row2, col2) = (4, 3), which contains sum = 8.



  1. You may assume that the matrix does not change.
  2. There are many calls to sumRegion function.
  3. You may assume that row1 ≤ row2 and col1 ≤ col2.
Dynamic programming
Time complexity:
sumRegion: O(1)


花花酱 LeetCode 221. Maximal Square


Given a 2D binary matrix filled with 0’s and 1’s, find the largest square containing only 1’s and return its area.

For example, given the following matrix:

1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0

Return 4.



Dynamic programming

Solution 0: O(n^5)


Solution 1: O(n^3)

Solution 2: O(n^2)


Solution 1:


Solution 2:


花花酱 LeetCode 677. Map Sum Pairs


Implement a MapSum class with insert, and sum methods.

For the method insert, you’ll be given a pair of (string, integer). The string represents the key and the integer represents the value. If the key already existed, then the original key-value pair will be overridden to the new one.

For the method sum, you’ll be given a string representing the prefix, and you need to return the sum of all the pairs’ value whose key starts with the prefix.

Example 1:


Prefix tree

Solution 1

Solution 2:

with std::unique_ptr


花花酱 LeetCode 268. Missing Number


Given an array containing n distinct numbers taken from 0, 1, 2, …, n, find the one that is missing from the array.

For example,
Given nums = [0, 1, 3] return 2.

Your algorithm should run in linear runtime complexity. Could you implement it using only constant extra space complexity?



sum / xor