数据结构和算法
文章平均质量分 69
MagiSu
黑社会大哥的殿后小弟
展开
-
LeetCode题解:Two Sum
Two SumGiven an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the ta原创 2013-10-16 05:33:59 · 8272 阅读 · 1 评论 -
LeetCode题解:Length of Last Word
Length of Last WordGiven a string s consists of upper/lower-case alphabets and empty space characters' ', return the length of last word in the string.If the last word does not exist, return原创 2013-10-17 09:11:08 · 949 阅读 · 0 评论 -
LeetCode题解:Merge k Sorted Lists
Merge k Sorted ListsMerge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity思路:标准的merge sort使用min(x,y),这里需要的是min(x1, x2, ... xk),可以用堆实现。题解:/** * D原创 2013-10-18 19:55:20 · 805 阅读 · 0 评论 -
LeetCode题解:Balanced Binary Tree
Balanced Binary TreeGiven a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of原创 2013-10-20 07:21:04 · 714 阅读 · 0 评论 -
LeetCode题解:Anagrams
AnagramsGiven an array of strings, return all groups of strings that are anagrams.Note: All inputs will be in lower-case.思路:关键在于对题目的理解。本文中anagrams指只有字母排列顺序不同的单词,例如eat,ate,tea。倘若有多组anagrams,那原创 2013-10-26 15:11:12 · 4035 阅读 · 0 评论 -
LeetCode题解:Valid Sudoku
Valid SudokuDetermine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.The Sudoku board could be partially filled, where empty cells are filled with the character'.'.A原创 2013-10-26 15:43:34 · 2910 阅读 · 0 评论 -
LeetCode题解:Restore IP Addresses
Restore IP AddressesGiven a string containing only digits, restore it by returning all possible valid IP address combinations.For example:Given "25525511135",return ["255.255.11.135", "255.2原创 2013-10-27 04:24:59 · 824 阅读 · 0 评论 -
LeetCode题解:Count and Say
Count and SayThe count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...1 is read off as "one 1" or 11.11 is read off as "two 1s" or 21.21 is r原创 2013-10-26 13:58:04 · 975 阅读 · 0 评论 -
LeetCode题解:Unique Paths II
Unique Paths IIFollow 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 respe原创 2013-10-26 19:38:27 · 857 阅读 · 0 评论 -
LeetCode题解:Unique Paths
Unique PathsA robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).The robot can only move either down or right at any point in time. The robot is tryi原创 2013-10-26 19:04:02 · 799 阅读 · 0 评论 -
LeetCode题解:Valid Palindrome
Valid PalindromeGiven a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example,"A man, a plan, a canal: Panama" is a palindrome."rac原创 2013-10-27 08:37:40 · 799 阅读 · 0 评论 -
LeetCode题解:Copy List with Random Pointer
Copy List with Random PointerA linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of the list.思原创 2013-10-27 13:34:13 · 1245 阅读 · 0 评论 -
LeetCode题解:Reverse integer
Reverse IntegerReverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321思路:不断用对10取余的方法分离数字,然后反过来即可。注意符号位。题解:class Solution {public: int reverse(i原创 2013-10-27 13:54:12 · 729 阅读 · 0 评论 -
LeetCode题解:Jump Game
Jump GameGiven 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.原创 2013-10-21 00:45:50 · 766 阅读 · 0 评论 -
LeetCode题解:Pow(x,n)
Pow(x, n)Implement pow(x, n).思路:1. 直接循环求解,最简单的方法2. 分而治之,可以减少一半的乘法。3. 如果n可能是浮点数的话,要考虑用对数运算。题解:class Solution {public: double pow_proc(double x, int n) { double p;原创 2013-10-22 11:37:06 · 1010 阅读 · 0 评论 -
LeetCode题解:Sum Root to Leaf Numbers
Sum Root to Leaf NumbersGiven a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.An example is the root-to-leaf path 1->2->3 which represents the numb原创 2013-10-22 11:04:35 · 759 阅读 · 0 评论 -
LeetCode题解:Maximum Depth of Binary Tree
Maximum Depth of Binary TreeGiven a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.思路:树原创 2013-10-27 13:40:21 · 1949 阅读 · 0 评论 -
LeetCode题解:Valid Parentheses
Valid ParenthesesGiven a string containing just the characters '(', ')','{', '}', '[' and ']', determine if the input string is valid.The brackets must close in the correct order, "()" and "()原创 2013-10-22 11:14:44 · 725 阅读 · 0 评论 -
LeetCode题解:Merge Sorted Array
Merge Sorted ArrayGiven two sorted integer arrays A and B, merge B into A as one sorted array.Note:You may assume that A has enough space to hold additional elements from B. The number of el原创 2013-10-24 04:04:54 · 1401 阅读 · 0 评论 -
LeetCode题解:Pascal's triangle I and II
Pascal's TriangleGiven numRows, generate the first numRows of Pascal's triangle.For example, given numRows = 5,Return[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]Pas原创 2013-10-31 03:22:22 · 1409 阅读 · 0 评论 -
LeetCode题解:Letter Combinations of a Phone Number
Letter Combinations of a Phone NumberGiven a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone butto原创 2013-10-31 03:40:46 · 996 阅读 · 0 评论 -
杂题:Counting 8-bits pattern
Counting 8-bits pattern给一个char* str, 给一个 char pattern, 要求找出8bit pattern在str里出现几次。e.g. str is "13" 就是0000,0001,0000,0011,pattern is 1000,0001 输出结果就是1次。int countPattern(char* str, char pat原创 2013-11-01 04:06:13 · 629 阅读 · 0 评论 -
LeetCode题解:Remove Duplicates from Sorted List
Remove Duplicates from Sorted ListGiven a sorted linked list, delete all duplicates such that each element appear onlyonce.For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, retur原创 2013-11-02 02:42:08 · 1288 阅读 · 0 评论 -
LeetCode题解:Roman to Integer
Roman to IntegerGiven a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.思路:字母对数字的一一对应累积关系。唯一需要注意的是,之前一个字母对应的数字如果小于当前字母对应的数字,则需要特殊处理。题解:原创 2013-11-02 06:17:45 · 754 阅读 · 0 评论 -
LeetCode题解:Remove Duplicates from Sorted List II
Remove Duplicates from Sorted List IIGiven a sorted linked list, delete all nodes that have duplicate numbers, leaving onlydistinct numbers from the original list.For example,Given 1->2->3原创 2013-11-02 05:52:54 · 982 阅读 · 0 评论 -
LeetCode题解:Longest Valid Parentheses
Longest Valid ParenthesesGiven a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.For "(()", the longest valid parenthe原创 2013-11-17 00:38:00 · 896 阅读 · 0 评论 -
LeetCode题解: Binary Tree Zigzag Level Order Traversal
Binary Tree Zigzag Level Order TraversalGiven a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and altern原创 2013-11-17 06:38:44 · 822 阅读 · 0 评论 -
LeetCode题解: Flatten Binary Tree to Linked List
Flatten Binary Tree to Linked ListGiven a binary tree, flatten it to a linked list in-place.For example,Given 1 / \ 2 5 / \ \ 3 4 6The flattene原创 2013-11-17 07:42:37 · 1116 阅读 · 0 评论 -
LeetCode题解: Longest Consecutive Sequence
Longest Consecutive SequenceGiven an unsorted array of integers, find the length of the longest consecutive elements sequence.For example,Given [100, 4, 200, 1, 3, 2],The longest consecutive原创 2013-11-17 09:23:49 · 686 阅读 · 0 评论 -
LeetCode题解:Set Matrix Zeroes
Set Matrix ZeroesGiven a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.思路:如果允许额外存储行和列清零的信息,那么题目就没有意思了。希望只用O(1)的存储空间的时候,我们就得利用矩阵本身的存储空间了:把清零的信息保存在第一行和第一列里原创 2013-11-16 12:43:29 · 5249 阅读 · 0 评论 -
LeetCode题解:Simplify Path
Simplify PathGiven an absolute path for a file (Unix-style), simplify it.For example,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"思路:其实就是一个依次处理以'/'为分割的数据的工具。如果碰到空输入或者'.'原创 2013-11-02 06:07:49 · 847 阅读 · 0 评论 -
LeetCode题解:Next Permutation
Next PermutationImplement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possible, it must rearrange it a原创 2013-11-04 00:12:06 · 1356 阅读 · 0 评论 -
LeetCode题解:Interleaving String
Interleaving StringGiven s1, s2, s3, find whether s3 is formed by the interleaving ofs1 and s2.For example,Given:s1 = "aabcc",s2 = "dbbca",When s3 = "aadbbcbcac", return true.When s3原创 2013-11-04 02:05:38 · 1144 阅读 · 0 评论 -
LeetCode题解:Minimum Depth of Binary Tree
Minimum Depth of Binary TreeGiven 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.思路:首原创 2013-11-05 01:15:43 · 828 阅读 · 0 评论 -
LeetCode题解:Clone Graph
Clone GraphClone an undirected graph. Each node in the graph contains a label and a list of itsneighbors.思路:首先对这个图进行搜索,深度优先广度优先是任意的。每碰到一个之前未遇到的结点则创造一个相应的新结点与这个结点对照,同时新结点的所有邻居仍然和原始结点的邻居相同。然原创 2013-11-05 05:17:17 · 1580 阅读 · 0 评论 -
LeetCode题解:Remove Duplicates from Sorted Array I and II
Remove Duplicates from Sorted Array IIFollow up for "Remove Duplicates":What if duplicates are allowed at most twice?For example,Given sorted array A = [1,1,1,2,2,3],Your function should原创 2013-11-05 06:42:05 · 1427 阅读 · 0 评论 -
LeetCode题解:Triangle
TriangleGiven a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.For example, given the following triangle[ [2], [原创 2013-11-05 01:44:20 · 1248 阅读 · 0 评论 -
LeetCode题解:Single Number I and II
Single NumberGiven an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it原创 2013-10-27 13:47:34 · 3870 阅读 · 3 评论 -
LeetCode题解:ZigZag Conversion
ZigZag ConversionThe string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A原创 2013-11-19 05:30:19 · 1051 阅读 · 0 评论 -
LeetCode题解:String to Integer (atoi)
String to Integer (atoi)Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself wh原创 2013-11-19 05:58:53 · 1154 阅读 · 0 评论