Leetcode
文章平均质量分 69
Chihyung
这个作者很懒,什么都没留下…
展开
-
215. Kth Largest Element in an Array(heap)
题目:Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.For example,Given [3,2,1,5,6,4] and k = 2, r原创 2016-09-24 21:10:58 · 281 阅读 · 0 评论 -
79. Word Search
题目:Given a 2D board and a word, find if the word exists in the grid.The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or v原创 2016-09-19 17:34:08 · 138 阅读 · 0 评论 -
37. Sudoku Solver(dfs)
题目:Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:[ "((()))", "(()())", "(())()",原创 2016-09-19 16:56:29 · 203 阅读 · 0 评论 -
22. Generate Parentheses(dfs)
题目:Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:[ "((()))", "(()())", "(())()",原创 2016-09-19 15:40:43 · 158 阅读 · 0 评论 -
28. Implement strStr()(String字符串匹配)
题目:Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.Subscribe to see which companies asked this question原创 2016-08-25 23:12:19 · 258 阅读 · 0 评论 -
140. Word Break II(dp)
题目:Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a valid dictionary word.Return all such possible sentences.For example, giv原创 2016-08-19 16:45:46 · 230 阅读 · 0 评论 -
139. Word Break(dp)
题目: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, givens = "leetcode",dict原创 2016-08-18 23:27:26 · 236 阅读 · 0 评论 -
52. N-Queens II(dfs)
题目:Follow up for N-Queens problem.Now, instead outputting board configurations, return the total number of distinct solutions.Subscribe to see which companies asked this question原创 2016-08-24 21:06:46 · 189 阅读 · 0 评论 -
51. N-Queens(dfs)
题目:The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens attack each other.Given an integer n, return all distinct solutions to the n-queens原创 2016-08-24 19:00:24 · 161 阅读 · 0 评论 -
86. Partition List(list)
题目:Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve the original relative order of the nodes in原创 2016-08-24 21:33:02 · 251 阅读 · 0 评论 -
53. Maximum Subarray(dp)
题目:Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [-2,1,-3,4,-1,2,1,-5,4],the contiguous subarray [4,-原创 2016-08-24 11:37:27 · 131 阅读 · 0 评论 -
84. Largest Rectangle in Histogram(dp)
题目: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.Above is a histogram wher原创 2016-09-19 20:15:06 · 254 阅读 · 0 评论 -
85. Maximal Rectangle(dp)
题目:Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area.For example, given the following matrix:1 0 1 0 01 0 1 1 11 1 1 1原创 2016-09-20 16:35:58 · 254 阅读 · 0 评论 -
87. Scramble String(dfs+剪枝)
题目:Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrings recursively.Below is one possible representation of s1 = "great": great /原创 2016-09-21 12:03:42 · 173 阅读 · 0 评论 -
207. Course Schedule(gragh)
题目: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 expr原创 2016-09-23 23:40:10 · 239 阅读 · 0 评论 -
97. Interleaving String(dp)
题目:Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.For example,Given:s1 = "aabcc",s2 = "dbbca",When s3 = "aadbbcbcac", return true.When s3 = "aadbbba原创 2016-09-21 09:51:05 · 184 阅读 · 0 评论 -
71. Simplify Path(stack)
题目:Given an absolute path for a file (Unix-style), simplify it.For example,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"简化路径,规则:..返回一级目录.无效运用stack记录路径public clas原创 2016-09-23 22:06:07 · 166 阅读 · 0 评论 -
23. Merge k Sorted Lists(heap)
题目:Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.合并k个有序链表创建一个大小为K的堆,每次取出对顶元素,然后添加堆顶元素在原链表的下一个元素。最后取出的元素形成的链表就是有序链表 public Lis原创 2016-09-23 18:16:38 · 235 阅读 · 0 评论 -
212. Word Search II(Trie)
题目:Given a 2D board and a list of words from the dictionary, find all words in the board.Each word must be constructed from letters of sequentially adjacent cell, where "adjacent" cells are原创 2016-09-23 17:04:21 · 240 阅读 · 0 评论 -
208. Implement Trie (Prefix Tree)(Trie)
题目:Implement a trie with insert, search, and startsWith methods.Note:You may assume that all inputs are consist of lowercase letters a-z.实现字典树,用hashmap来存储,key为当前字符,value为子树class Tr原创 2016-09-23 15:38:06 · 178 阅读 · 0 评论 -
123. Best Time to Buy and Sell Stock III(dp)
题目: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:原创 2016-09-20 17:22:56 · 148 阅读 · 0 评论 -
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 day i.Design an algorithm to find the maximum profit. You may complete as many transactions as you like (i原创 2016-09-20 16:55:28 · 189 阅读 · 0 评论 -
121. Best Time to Buy and Sell Stock(贪心)
题目:Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy one and sell one share of th原创 2016-09-20 16:48:10 · 190 阅读 · 0 评论 -
45. 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.Yo原创 2016-08-23 16:56:33 · 191 阅读 · 0 评论 -
55. Jump Game(贪心)
题目: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.De原创 2016-08-23 15:22:06 · 235 阅读 · 0 评论 -
132. Palindrome Partitioning II(dp)
题目:Given a string s, partition s such that every substring of the partition is a palindrome.Return the minimum cuts needed for a palindrome partitioning of s.For example, given s = "aab"原创 2016-08-18 19:54:47 · 130 阅读 · 0 评论 -
131 Palindrome Partitioning(dp+dfs)
题目:Given a string s, partition s such that every substring of the partition is a palindrome.Return all possible palindrome partitioning of s.For example, given s = "aab",Return[ ["原创 2016-08-18 17:21:27 · 352 阅读 · 0 评论 -
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原创 2016-07-28 17:36:50 · 171 阅读 · 0 评论 -
41. First Missing Positive(Sort)
题目:Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm should run in O(n) time and uses原创 2016-07-28 11:42:25 · 196 阅读 · 0 评论 -
94. Binary Tree Inorder Traversal(Tree)
题目:Given a binary tree, return the inorder traversal of its nodes' values.For example:Given binary tree [1,null,2,3], 1 \ 2 / 3return [1,3,2].二叉树中序遍历:方法一原创 2016-07-18 11:00:28 · 163 阅读 · 0 评论 -
144. Binary Tree Preorder Traversal(Tree)
题目:Given a binary tree, return the preorder traversal of its nodes' values.For example:Given binary tree {1,#,2,3}, 1 \ 2 / 3return [1,2,3].二叉树的前遍历,三种解法:原创 2016-07-18 00:17:19 · 190 阅读 · 0 评论 -
148. Sort List
题目:Sort a linked list in O(n log n) time using constant space complexity.归并排序: //得到中间节点 private ListNode getMiddleNode(ListNode head) { ListNode fast =head; ListNode slow = head;原创 2016-07-27 22:47:14 · 164 阅读 · 0 评论 -
147. Insertion Sort List
题目:Sort a linked list using insertion sort.对链表进行插入排序。 public ListNode insertionSortList(ListNode head) { if(head == null || head.next == null) return head; ListNode newnode =new List原创 2016-07-27 21:34:55 · 156 阅读 · 0 评论 -
21. Merge Two Sorted Lists(Sort)
题目:Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.Subscribe to see which companies asked thi原创 2016-07-24 11:40:22 · 177 阅读 · 0 评论 -
88. Merge Sorted Array(Sort)
题目:Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.给定两个排序数组,合并排序数组,时间复杂度要求O(m+n),空间复杂度O(1) public void merge(int[] nums1, int m, int[] nu原创 2016-07-24 10:56:15 · 245 阅读 · 0 评论 -
93. Restore IP Addresses(dfs+剪枝)
题目:Given 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.255.111.35"]原创 2016-09-09 20:13:15 · 208 阅读 · 0 评论 -
62. Unique Paths(dp+深搜)
题目:A 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 trying to r原创 2016-08-19 18:08:50 · 187 阅读 · 0 评论 -
69. Sqrt(x)(分治)
题目:Implement int sqrt(int x).Compute and return the square root of x.求平方根,用二分法,时间复杂度为O(lgN)代码:public class Solution { public int mySqrt(int x) { if(x<2)return x; in原创 2016-08-23 15:05:41 · 247 阅读 · 0 评论 -
50. Pow(x, n)(分治)
题目:Implement pow(x, n).Subscribe to see which companies asked this question分治法代码:public class Solution { public double myPow(double x, int n) { if(n<0){ return 1.0/power原创 2016-08-23 01:11:43 · 422 阅读 · 0 评论 -
126. Word Ladder II(bfs+dfs)
题目:Given two words (beginWord and endWord), and a dictionary's word list, find all shortest transformation sequence(s) from beginWord toendWord, such that:Only one letter can be changed at a原创 2016-08-23 00:39:39 · 457 阅读 · 0 评论