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.
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 … [Read more…]
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 … [Read more…]
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 … [Read more…]
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.
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.
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, … [Read more…]
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.
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 … [Read more…]