LeetCode
文章平均质量分 63
多多趣
Talk is cheap, let's show the code!
展开
-
4. Median of Two Sorted Arrays
There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).Example 1:nums原创 2017-09-24 13:04:17 · 192 阅读 · 0 评论 -
6. ZigZag Conversion
The 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 H NA P L S原创 2017-09-24 16:27:35 · 174 阅读 · 0 评论 -
7. Reverse Integer
Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321click to show spoilers.Note:The input is assumed to be a 32-bit signed integer. Your function原创 2017-09-24 16:58:36 · 144 阅读 · 0 评论 -
9. Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.判断一个正数是否为回文。首先负数不是回文,然后题目要求不能有额外的空间,因此不能用栈的办法,也不能保存每个位数的数字,只能通过扫描整数位置,并进行前后判断。如下所示:clas原创 2017-09-24 21:15:46 · 134 阅读 · 0 评论 -
3. Longest Substring Without Repeating Characters
该题目是一道典型的滑窗题;也可以理解为动态规划题,动态调整窗口大小。O(n2)的解法也能解决该问题(没有试过,不知道会不会TimeOut),一开始在 i = Math.max(map.get(s.charAt(j)), i)处没有处理好,没有加入max限制条件,使得abba这类的计算窗口出现异常,过滤后可AC。class Solution { public int lengthOf原创 2017-09-20 22:22:41 · 144 阅读 · 0 评论 -
5. Longest Palindromic Substring
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:Input: "babad"Output: "bab"Note: "aba" is also a valid answer.原创 2017-09-22 22:45:44 · 137 阅读 · 0 评论 -
8. 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 what are the possible input ca原创 2017-09-24 21:43:52 · 219 阅读 · 0 评论 -
11. Container With Most Water
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Fin原创 2017-09-25 22:52:57 · 126 阅读 · 0 评论 -
14. Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings.找出所有字符串数组的最长公共前缀。class Solution { public String longestCommonPrefix(String[] strs) { int len = str原创 2017-09-26 21:08:28 · 151 阅读 · 0 评论 -
15. 3Sum
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note: The solution set must not contain原创 2017-09-26 22:25:26 · 139 阅读 · 0 评论 -
16. 3Sum Closest
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exact原创 2017-09-26 23:36:28 · 133 阅读 · 0 评论 -
17. Letter Combinations of a Phone Number
Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone buttons) is given below.Input:Digit string原创 2017-09-27 20:01:26 · 306 阅读 · 0 评论 -
18. 4Sum
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.Note: The solution原创 2017-09-27 20:40:08 · 293 阅读 · 0 评论 -
19. Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the原创 2017-09-27 21:49:42 · 133 阅读 · 0 评论 -
20. Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.The brackets must close in the correct order, "()" and "()[]{}" are all va原创 2017-09-27 23:25:03 · 126 阅读 · 0 评论 -
21. Merge Two Sorted Lists
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.合并有序链表。题目的第二句话不知道什么意思,是不能创建新链表?没懂。合并有序链表比较简单,一种方法是创建一个新原创 2017-09-28 22:01:02 · 151 阅读 · 0 评论 -
22. Generate Parentheses
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:[ "((()))", "(()())", "(())()", "()(())",原创 2017-09-28 22:24:38 · 140 阅读 · 0 评论 -
2. Add Two Numbers
该题直接模拟加法过程。每个node的值是一个单一的数字,且没有前置0,条件设置相对简单,直接扫描两个链表即可。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x原创 2017-09-20 20:39:01 · 187 阅读 · 0 评论 -
1. Two Sum
这个题还是比较简单的,题目要求需要返回两个值的下标,用一个HashMap表示就行。该题目的时间复杂度不是O(n),因为for循环内有HashMap的查找开销。class Solution { public int[] twoSum(int[] nums, int target) { if (nums.length < 2){ return nul原创 2017-09-20 19:57:30 · 137 阅读 · 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.Determine i原创 2017-10-27 22:12:53 · 111 阅读 · 0 评论 -
23. Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.这个题跟Merge 2 sorted linked lists相似,一开始采用合并两条链表的方法,顺序合并k个链表,发现会有一个k比较大的用例一直通不过,显示TimeOut,程序如下所示:/*原创 2017-09-29 23:34:01 · 224 阅读 · 0 评论 -
24. Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head.For example,Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should use only constant space. Y原创 2017-09-30 23:25:24 · 125 阅读 · 0 评论 -
25. Reverse Nodes in k-Group
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.k is a positive integer and is less than or equal to the length of the linked list. If the number o原创 2017-10-10 20:30:28 · 141 阅读 · 0 评论 -
27. Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.原创 2017-10-10 20:52:30 · 130 阅读 · 0 评论 -
28. Implement strStr()
Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.暴力实现比较简单,但效率较低,如下:class Solution { public int strStr(String原创 2017-10-10 22:09:34 · 120 阅读 · 0 评论 -
69. Sqrt(x)
Implement int sqrt(int x).Compute and return the square root of x.x is guaranteed to be a non-negative integer.Example 1:Input: 4Output: 2Example 2:Input: 8Output: 2Expla原创 2017-11-06 21:15:51 · 117 阅读 · 0 评论 -
70. Climbing Stairs
You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?Note: Given n will be a posi原创 2017-11-06 21:28:50 · 131 阅读 · 0 评论 -
71. Simplify Path
Given an absolute path for a file (Unix-style), simplify it.For example,path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"click to show corner cases.Corner Cases:Did you co原创 2017-11-06 21:36:25 · 109 阅读 · 0 评论 -
73. Set Matrix Zeroes
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place.click to show follow up.Follow up:Did you use extra space?A straight forward solution using O(m原创 2017-11-06 21:52:12 · 117 阅读 · 0 评论 -
74. Search a 2D Matrix
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:Integers in each row are sorted from left to right.The first integer of each原创 2017-11-06 22:14:49 · 110 阅读 · 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 integers原创 2017-11-06 22:59:27 · 120 阅读 · 0 评论 -
56. Merge Intervals
Given a collection of intervals, merge all overlapping intervals.For example,Given [1,3],[2,6],[8,10],[15,18],return [1,6],[8,10],[15,18].合并重叠的区域。思路很简单,先按照start值排序,然后再顺序合并重叠区域即可,程序如下所示:/**原创 2017-10-29 20:24:06 · 176 阅读 · 0 评论 -
57. Insert Interval
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).You may assume that the intervals were initially sorted according to their start times.E原创 2017-10-29 20:37:09 · 155 阅读 · 0 评论 -
58. Length of Last Word
Given 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 0.Note: A word is原创 2017-10-29 20:50:13 · 160 阅读 · 0 评论 -
59. Spiral Matrix II
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.For example,Given n = 3,You should return the following matrix:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [原创 2017-10-29 21:07:38 · 176 阅读 · 0 评论 -
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]原创 2017-10-21 22:34:35 · 105 阅读 · 0 评论 -
29. Divide Two Integers
Divide two integers without using multiplication, division and mod operator.If it is overflow, return MAX_INT.实现两个数相除,但不能使用除号和取模符号,很明显,本题基本上是用加、减、移位运算来实现除法运算。用减法就可以实现除法运算,一直减去被除数,最后得到除法运算的值,但这原创 2017-10-11 22:25:32 · 131 阅读 · 0 评论 -
40. Combination Sum II
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T.Each number in C may only be used once in the combina原创 2017-10-17 20:17:58 · 134 阅读 · 0 评论 -
46. Permutations
Given a collection of distinct numbers, return all possible permutations.For example,[1,2,3] have the following permutations:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1原创 2017-10-22 21:34:58 · 114 阅读 · 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.Your goal i原创 2017-10-22 20:59:23 · 154 阅读 · 0 评论