Multiple Passes
文章平均质量分 75
ActiveCoder
An active programmer
展开
-
Flatten BST to Double Linked List
Two ways:1: recursion, to transform in in-order.2: Iterative, BFS way./* Flatten BST into linkedlist (in-order).*/#include #include #include using namespace std;struct TreeNode { int原创 2016-06-04 12:03:15 · 267 阅读 · 0 评论 -
LeetCode 5. Longest Palindromic Substring
#include #include using namespace std;/* Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longes原创 2016-05-16 22:33:56 · 208 阅读 · 0 评论 -
LeetCode 78. Subsets
Given a set of distinct integers, nums, return all possible subsets.Note:Elements in a subset must be in non-descending order.The solution set must not contain duplicate subsets.For example,原创 2016-04-19 01:47:03 · 235 阅读 · 0 评论 -
LeetCode 239. Sliding Window Maximum
#include #include #include using namespace std;CORRECT// first, we can slove it using priority_queue.// time complexity: O(nklogk)vector maxSlidingWindow(vector& nums, int k) { int n = num原创 2016-04-27 00:31:11 · 322 阅读 · 0 评论 -
LeetCode 133. Clone Graph
Clone an undirected graph. Each node in the graph contains a label and a list of itsneighbors.OJ's undirected graph serialization:Nodes are labeled uniquely.We use # as a separator for each原创 2016-05-05 02:16:16 · 312 阅读 · 0 评论 -
LeetCode 63. Unique Paths II
Follow up for "Unique Paths":Now consider if some obstacles are added to the grids. How many unique paths would there be?An obstacle and empty space is marked as 1 and 0 respectively in the grid.原创 2016-04-09 01:36:28 · 235 阅读 · 0 评论 -
LeetCode 152. Maximum Product Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest product.For example, given the array [2,3,-2,4],the contiguous subarray [2,3] has the largest pr原创 2016-05-06 00:46:40 · 225 阅读 · 0 评论 -
LeetCode 322. Coin Change
General DP question.#include #include #include using namespace std;/* You are given coins of different denominations and a total amount of money amount. write a function to compute the fe原创 2016-05-02 02:25:40 · 310 阅读 · 0 评论 -
K consecutive maxSum
// given an array, find n consecutive number which forms the largest sum.#include "header.h"using namespace std;int maxConsecutive(vector& array, int n) { if(n <= 0) return 0; vector dp(array.原创 2016-07-05 11:58:04 · 253 阅读 · 0 评论 -
LeetCode 166. Fraction to Recurring Decimal
So, the best solution I have seen. 点击打开链接Integer part is easy to handle. For the fraction part, we need to remember where the loop start. Thus, we need to remember the position to insert '(' and转载 2016-06-13 04:18:13 · 269 阅读 · 0 评论 -
LeetCode 1. Two Sum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution.Example:Given nums = [2,原创 2016-04-09 01:48:57 · 215 阅读 · 0 评论 -
Print nodes in a given range of BST
I am stupid..... this is a MS interview question.Pseudo code void printNode(root) { stack nodes; while(!root || !nodes.empty()) { if(root) { nodes.push(root); Node* tmp = nod原创 2016-06-07 06:17:16 · 293 阅读 · 0 评论 -
Max Number of A's given four keys
/* Imagine you have a special keyboard with following four keys: Key 1: Prints 'A' on screenKey 2: (Ctrl-A): Select screen Key 3: (Ctrl-C): Copy selection to bufferKey 4: (Ctrl-V): Print buffer on s原创 2016-06-09 06:31:26 · 274 阅读 · 0 评论 -
LeetCode 44. Wildcard Matching
Implement wildcard pattern matching with support for '?' and '*'.'?' Matches any single character.'*' Matches any sequence of characters (including the empty sequence).The matching should cover t原创 2016-06-10 01:25:57 · 185 阅读 · 0 评论 -
LeetCode 207. Course Schedule
There are a total of n courses you have to take, labeled from 0 to n - 1.Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as原创 2016-05-23 09:24:01 · 295 阅读 · 0 评论 -
LeetCode 31. Next Permutation
#include #include #include using namespace std;/* Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is原创 2016-05-23 11:04:53 · 209 阅读 · 0 评论 -
LeetCode 162. Find Peak Element
#include #include using namespace std;/* A peak element is an element that is greater than its neighbors. Given an input array where nums[i] != nums[i+1], find a peak element and return its原创 2016-05-23 11:31:50 · 233 阅读 · 0 评论 -
Maximum value's random index
#include #include #include #include #include using namespace std;// naive method// Go through the array once, find the max and the number of occurrences (n)// Generate a random number (r) bet原创 2016-06-05 09:11:35 · 308 阅读 · 0 评论 -
LeetCode 139. Word Break
Given a string s and a dictionary of words dict, determine ifs can be segmented into a space-separated sequence of one or more dictionary words.For example, givens = "leetcode",dict = ["leet",原创 2016-04-24 03:59:25 · 323 阅读 · 0 评论 -
LeetCode 265. Paint House II
#include #include #include using namespace std;/* Here are a row of n houses, each house can be painted with one of the k colors. The cost of painting each house with a certain color is diffe原创 2016-06-02 06:41:37 · 565 阅读 · 0 评论 -
LeetCode 75. Sort Colors
Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.Here, we will use the integers 0,原创 2016-04-10 05:17:20 · 292 阅读 · 0 评论 -
K sum
This is an extended question for 2 sum and 3 sum, 4 sum, DP problem int kSum(vector A, int k, int target) { // wirte your code here int n = A.size(); vector>> dp(n+1, vect原创 2016-06-15 12:38:59 · 201 阅读 · 0 评论 -
LeetCode 42. 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]原创 2016-05-02 08:44:41 · 258 阅读 · 0 评论 -
LeetCode 206. Reverse Linked List
Reverse a singly linked list.This one is supposed to be easy. However, a lot of companies tend to ask for several versions to solve it. Facebook tends to ask for iteration and recursive.//原创 2016-04-12 23:24:00 · 241 阅读 · 0 评论 -
LeetCode 111. Minimum Depth of Binary Tree
Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.Suppose we have a tree like this:原创 2016-04-19 07:57:51 · 218 阅读 · 0 评论 -
LeetCode 24. Swap Nodes in Pairs
I did very bad on this one...../** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class原创 2016-05-03 11:12:01 · 233 阅读 · 0 评论 -
LeetCode 312. Burst Balloons
A very interesting question!Think that we have N balloons to shot.0 - 1 - 2 .... - n-1 in order to get the best score, we want to shot a special balloon, name it as k.Then, we can get that.0原创 2016-05-07 04:51:30 · 1095 阅读 · 0 评论 -
Find minimum number in Rotated sorted array.
if the middle value locates in the first increasing part, the mini value must locate at the lower half, thus, the first pointershould point to the middle instead. if the middle value locates in原创 2016-05-13 11:01:53 · 300 阅读 · 0 评论 -
LeetCode 122. Best Time to Buy and Sell Stock II
Say you have an array for which the ith element is the price of a given stock on dayi.Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one原创 2016-04-11 01:46:52 · 288 阅读 · 0 评论 -
LeetCode 300. Longest Increasing Subsequence
Given an unsorted array of integers, find the length of longest increasing subsequence.For example,Given [10, 9, 2, 5, 3, 7, 101, 18],The longest increasing subsequence is [2, 3, 7, 101], theref原创 2016-04-16 09:49:04 · 216 阅读 · 0 评论 -
LeetCode 54. Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.For example,Given the following matrix:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]You原创 2016-04-25 08:52:15 · 274 阅读 · 0 评论 -
LeetCode 76. Minimum Window Substring
#include #include #include #include using namespace std;/* 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原创 2016-05-07 23:27:53 · 330 阅读 · 0 评论 -
LeetCode 145. Binary Tree Postorder Traversal
Given a binary tree, return the postorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3return [3,2,1].Stack Problem, One example原创 2016-04-13 05:49:16 · 263 阅读 · 0 评论 -
LeetCode 241. Different Ways to Add Parentheses
Given a string of numbers and operators, return all possible results from computing all the different possible ways to group numbers and operators. The valid operators are +, - and *.Example 1转载 2016-06-20 11:51:48 · 227 阅读 · 0 评论 -
Random Number Series Questions
This webpage gives a perfect solution to generate K random numbers from given N size array: http://www.geeksforgeeks.org/reservoir-sampling/However, there are a varieties of related questions.1: i原创 2016-07-06 07:59:24 · 248 阅读 · 0 评论 -
Some C++ Concepts
1: Abstract class#include using namespace std;/* a class is declared as abstract by declaring at least one of its function as pure virtual function. A pure virtual function is specified by pl原创 2016-05-25 05:34:47 · 360 阅读 · 0 评论 -
LeetCode 253. Meeting Rooms II
#include #include #include using namespace std;/* Given an array of meeting time interval consiting of start and end times [[s1, e1], [s2, e2], [s3, e3]] (si < ei), find the mininum number of原创 2016-05-24 04:35:16 · 246 阅读 · 0 评论 -
LeetCode 273. Integer to English Words
I changed the integer into string. If the length is not multiple of 3, append "0" ahead. Then, deal three digits by chunks.#include #include #include using namespace std;/* Convert a non-ne原创 2016-05-10 08:29:20 · 573 阅读 · 0 评论 -
Haffman Encoding and Decoding
Read this blog and it seems this is a quite decent interview question. Haffman encodingHaffman encoding is a classic way to encode characters. It encodes characters according to building an optimis转载 2016-07-18 06:27:49 · 292 阅读 · 0 评论 -
LeetCode 155. Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.push(x) -- Push element x onto stack.pop() -- Removes the element on top of the stack.top() -- Get原创 2016-04-19 11:58:13 · 277 阅读 · 0 评论