Category Archives: LeetCode

[LeetCode] Trapping Rain Water

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. For example, Given [0,1,0,2,1,0,1,3,2,1,2,1], return 6.

Also posted in Algorithm, Dynamic Programming | Tagged , , , | Leave a comment

[LeetCode] Jump Game II

Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Your goal is to reach the last index in the minimum number of jumps. Actually I got no trick for this problem, I just find […]

Also posted in Algorithm | Tagged , | 1 Response

[LeetCode] Best Time to Buy and Sell Stock III

Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete at most two transactions. Note: You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again). Find the maximum […]

Also posted in Algorithm, Dynamic Programming | Tagged , , , | Leave a comment

[LeetCode] Edit Distance

Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.) You have the following 3 operations permitted on a word: a) Insert a character b) Delete a character c) Replace a character Find minimum number of steps, then it must be a Dynamic Programming problem. Only […]

Also posted in Algorithm, Dynamic Programming | Tagged , , | Leave a comment

[LeetCode] Largest Rectangle in Histogram

Given n non-negative integers representing the histogram’s bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.

Also posted in Algorithm | Tagged , | 1 Response

[LeetCode] Word Break

Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words. For example, given s = “leetcode”, dict = [“leet”, “code”]. Return true because “leetcode” can be segmented as “leet code”. Most of problems that return a bool value or int value (amount) in LeetCode can be solved using Dynamic Programming.

Also posted in Algorithm, Dynamic Programming | Tagged , , | Leave a comment

[LeetCode] Minimum Window Substring

Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n). For example, S = “ADOBECODEBANC” T = “ABC” Minimum window is “BANC”. The basic idea is to find a window which contain all characters in T first, this window does not necessary to be optimize, […]

Also posted in Algorithm | Tagged , | Leave a comment

[LeetCode] Surrounded Regions

Given a 2D board containing ‘X’ and ‘O’, capture all regions surrounded by ‘X’. A region is captured by flipping all ‘O’s into ‘X’s in that surrounded region . The trick is to search from the edge, but not inside the whole region. These 4 images show how the trick works.

Also posted in Algorithm | Tagged , | Leave a comment

[LeetCode] Max Points on a Line

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. At first my thought was, given 2 points, we can get a line which connect these two points, and this line can be designated as: y =  k x + b Assume one of the two points is […]

Also posted in Algorithm | Tagged , | Leave a comment