Leetcode刷题总结--java
本专栏用于记录自己在Leetcode上的刷题总结。尽量会写多一点方法和思路以及每种方法的运行时间==
liuchongee
这个作者很懒,什么都没留下…
展开
-
leetcode题解-Combination Sum系列
这个系列一共有四道题,每道题目之间稍微有些不同,下面通过对比来总结一下,四道题目都可以使用backtracking回溯方法做,当然也可以是使用DP进行求解。首先看第一道: 39. Combination SumGiven a set of candidate numbers (C) (without duplicates) and a target number (T), find all ...原创 2018-04-12 15:18:08 · 2486 阅读 · 1 评论 -
leetcode题解-Dynamic Programming简单类别题目汇总
今天刷了DP类别的5个简单级别的题目,这里简单总结一下,关于DP的定义以及一些常用的思路大家可以去看算法导论或者一些博客进行学习,这里就只关注这几个题目,不对DP进行很多介绍。70, Climbing Stairs && 746,Min Cost Climbing Stairs && 53. Maximum Subarray && 198. House Robber题目: 70. Climbing原创 2017-12-21 11:42:58 · 1403 阅读 · 0 评论 -
leetcode题解-71. Simplify Path && 43. Multiply Strings
好久没刷题了,感觉有些荒废,今天突然想到明年就要找工作了,吓得我赶紧刷两道压压惊==题目:43. Multiply StringsGiven two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2.Note:The length of both num1 a原创 2017-12-19 10:16:09 · 840 阅读 · 0 评论 -
leetcode题解-647. Palindromic Substrings && 5. Longest Palindromic Substring
题目:Given a string, your task is to count how many palindromic substrings in this string.The substrings with different start indexes or end indexes are counted as different substrings even they consist原创 2017-11-22 14:57:40 · 1128 阅读 · 0 评论 -
leetcode题解-8. String to Integer (atoi) && 468. Validate IP Address
今天开始刷String部分中等难度的题目,先看第一道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原创 2017-11-22 14:08:28 · 873 阅读 · 0 评论 -
leetcode题解-58. Length of Last Word && 67. Add Binary && 383. Ransom Note
今天的三道题目都特别简单,直接上题目和解法~~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 do原创 2017-11-15 10:33:21 · 720 阅读 · 0 评论 -
leetcode题解-459. Repeated Substring Pattern && 443. String Compression && 434. Number of Segments in
459,Repeated Substring Pattern题目:Given a non-empty string check if it can be constructed by taking a substring of it and appending multiple copies of the substring together. You may assume the given st原创 2017-11-14 10:57:38 · 1138 阅读 · 0 评论 -
leetcode题解-686. Repeated String Match && 38. Count and Say
先看686这道题目:Given two strings A and B, find the minimum number of times A has to be repeated such that B is a substring of it. If no such solution, return -1.For example, with A = "abcd" and B = "cdabcda原创 2017-11-13 19:57:45 · 1602 阅读 · 1 评论 -
leetcode题解-28. Implement strStr() && 521. Longest Uncommon Subsequence I && 522 II
先看第一道题目,实现内置的strStr()函数:Implement strStr().Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.Example 1:Input: haystack = "hello", needle = "ll"Out原创 2017-11-12 15:54:33 · 528 阅读 · 0 评论 -
leetcode题解-344. Reverse String && 541. Reverse String II && 345. Reverse Vowels of a String
今天的三道都是字符串反转的题目,也相对比较简单,我们先来看第一道题目:Write a function that takes a string as input and returns the string reversed.Example:Given s = "hello", return "olleh".本题没什么好说的就是一个最简单的字符串反转问题,可以自己写程序使用两个指针也可以调用内置函原创 2017-11-10 18:57:42 · 638 阅读 · 0 评论 -
leetcode题解-13. Roman to Integer && 14. Longest Common Prefix && 20. Valid Parentheses
本次的三道题目都没有什么难度,我们先看第一道,题目如下:Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.就是将古罗马数字转化为int型,上网查一下古罗马数字的表示方法就可以知道,总共有“IVXLCDM”7种字符分别表示1、5、10、50、原创 2017-11-09 20:56:33 · 584 阅读 · 0 评论 -
leetcode题解-125. Valid Palindrome && 680. Valid Palindrome II
这是两道判断字符串是否为回文的题目,先来看第一道:Given 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原创 2017-11-08 19:21:29 · 783 阅读 · 0 评论 -
leetcode题解-606. Construct String from Binary Tree && 657. Judge Route Circle
这两道题目都相对比较简单,所以就一起总结一下,先来看第一道: 606,construct string from binary tree,题目:You need to construct a string consists of parenthesis and integers from a binary tree with the preorder traversing way.The null原创 2017-11-06 20:52:19 · 433 阅读 · 0 评论 -
leetcode题解-151. Reverse Words in a String && 557. Reverse Words in a String III
这两道题目都是反转字符串中单词类型的,II收费所以没刷,先看着两道。151, Reverse Words in a String,题目:Given an input string, reverse the string word by word.For example,Given s = "the sky is blue",return "blue is sky the".Update (201原创 2017-11-07 10:56:35 · 593 阅读 · 0 评论 -
leetcode题解-696. Count Binary Substrings
从今天开始刷字符串部分的题目,这部分我会记录每一题的简短思路,方便最后写一个总结性的博客。接下来先看一下第一道题696. Count Binary Substrings:题目:Give a string s, count the number of non-empty (contiguous) substrings that have the same number of 0's and 1's,原创 2017-11-05 22:02:33 · 3576 阅读 · 1 评论 -
leetcode题解-binary search题目总结
前面一段时间刷完了二叉搜索部分的题目,现在闲下来写一个总结贴,主要针对这部分题目类型以及所使用的方法。有序数组查找目标值索引首先来说最简单的binary-search,应用在有序数组查找target值等问题中,一般会有两种解法,也就是binary-search问题中最关键的边界问题和更新方案的区别,这里推荐大家选择一种自己喜欢的方案用就可以,不用同时记住两种,反而会搞混,比如我都是用第一种:原创 2017-11-05 15:16:08 · 1525 阅读 · 0 评论 -
leetcode题解-174. Dungeon Game
题目:The demons had captured the princess (P) and imprisoned her in the bottom-right corner of a dungeon. The dungeon consists of M x N rooms laid out in a 2D grid. Our valiant knight (K) was initially p原创 2017-11-03 14:50:56 · 964 阅读 · 0 评论 -
leetcode题解-668. Kth Smallest Number in Multiplication Table
题目:Nearly every one have used the Multiplication Table. But could you find out the k-th smallest number quickly from the multiplication table?Given the height m and the length n of a m * n Multiplicati原创 2017-11-02 10:26:38 · 1902 阅读 · 0 评论 -
leetcode题解-483. Smallest Good Base
题目:For an integer n, we call k>=2 a good base of n, if all digits of n base k are 1.Now given a string representing n, you should return the smallest good base of n in string format. Example 1:Input:原创 2017-11-01 15:53:43 · 1064 阅读 · 0 评论 -
leetcode题解-354. Russian Doll Envelopes
题目:You have a number of envelopes with widths and heights given as a pair of integers (w, h). One envelope can fit into another if and only if both the width and height of one envelope is greater than原创 2017-10-31 16:07:40 · 1336 阅读 · 0 评论 -
leetcode题解-410. Split Array Largest Sum
题目:Given an array which consists of non-negative integers and an integer m, you can split the array into m non-empty continuous subarrays. Write an algorithm to minimize the largest sum among these m s原创 2017-10-25 21:27:19 · 2170 阅读 · 0 评论 -
leetcode题解-363. Max Sum of Rectangle No Larger Than K
题目:Given a non-empty 2D matrix matrix and an integer k, find the max sum of a rectangle in the matrix such that its sum is no larger than k.Example:Given matrix = [ [1, 0, 1], [0, -2, 3]]k = 2原创 2017-10-17 12:10:56 · 1806 阅读 · 0 评论 -
leetcode题解-74. Search a 2D Matrix && 240. Search a 2D Matrix II
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 firs原创 2017-10-15 13:34:42 · 550 阅读 · 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], therefor原创 2017-09-20 09:41:06 · 1974 阅读 · 0 评论 -
leetcode题解-436. Find Right Interval
题目:Given a set of intervals, for each of the interval i, check if there exists an interval j whose start point is bigger than or equal to the end point of the interval i, which can be called that j is原创 2017-09-16 16:33:52 · 753 阅读 · 0 评论 -
leetcode题解-29. Divide Two Integers
前段时间由于放假、参加竞赛等等各种事情就中断了刷题的进程,现在已经开学回到学校,生活节奏也慢慢回到了正常的轨道上面,所以接下来应该还会坚持每天刷题的习惯。所以现在接着前面的进度继续进行binary-search部分接着做。题目:Divide two integers without using multiplication, division and mod operator.If it is ov原创 2017-09-15 11:06:33 · 960 阅读 · 0 评论 -
leetcode题解-392. Is Subsequence
题目:Given a string s and a string t, check if s is subsequence of t.You may assume that there is only lower case English letters in both s and t. t is potentially a very long (length ~= 500,000) string,原创 2017-07-27 17:18:40 · 1478 阅读 · 0 评论 -
leetcode题解-378. Kth Smallest Element in a Sorted Matrix
上周刷完了链表部分的题目,这周开始看binary-search的,由于easy类的题目,大多数都只是最简单的二叉搜索,所以这里就不在进行写博客记录,而且很多题目都是之前数组或者哈希表的题目,已经做过了,我用了一周的时间专门用binary-search的方法做了一遍,现在开始看中等难度部分的题目。 题目:Given a n x n matrix where each of the rows and原创 2017-07-25 21:20:59 · 3698 阅读 · 0 评论 -
Leetcode链表部分题目常用方法技巧总结
前面两三周刷完了链表的题目,这里总结一下解链表的题目时常用的一些方法技巧和解题思路应该如何去考虑。先来总结一下常见的题型:删除类型(删除指定节点、重复元素、环、指定值的节点)合并排序链表插入节点环反转链表(kGroup、Between)排序链表(归并,快拍,插入排序)对链表进行拆分(奇偶分开、以某个参考值分区)其实主要还是对链表数据结构的基本操作,还有一些其他题目也可以最后归结到这些原创 2017-07-18 11:44:05 · 3282 阅读 · 0 评论 -
leetcode题解-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 of原创 2017-07-18 09:31:49 · 1455 阅读 · 0 评论 -
leetcode题解-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. You may原创 2017-07-16 19:41:38 · 1514 阅读 · 0 评论 -
leetcode题解-328. Odd Even Linked List && 19. Remove Nth Node From End of List
328,题目Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.You should try to do it i原创 2017-07-16 16:41:58 · 690 阅读 · 0 评论 -
leetcode题解-82. Remove Duplicates from Sorted List II && 445. Add Two Numbers II
82, 题目:Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.For example,Given 1->2->3->3->4->4->5, return 1->2->5.Given 1->1-原创 2017-07-15 12:06:58 · 1257 阅读 · 0 评论 -
leetcode题解-86. Partition 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 each of t原创 2017-07-13 15:17:31 · 737 阅读 · 0 评论 -
leetcode题解-92. Reverse Linked List II
Reverse a linked list from position m to n. Do it in-place and in one-pass.For example:Given 1->2->3->4->5->NULL, m = 2 and n = 4,return 1->4->3->2->5->NULL.Note:Given m, n satisfy the following cond原创 2017-07-11 09:25:08 · 749 阅读 · 0 评论 -
leetcode题解-138. Copy List with Random Pointer
题目:A 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.本题与前面的链表结构都不太一样,其每个节点都有next和random两个原创 2017-07-09 11:49:03 · 3341 阅读 · 0 评论 -
leetcode题解-142. Linked List Cycle II
题目:Given a linked list, return the node where the cycle begins. If there is no cycle, return null.Note: Do not modify the linked list.Follow up:Can you solve it without using extra space?本题与之前的Linked原创 2017-07-07 11:43:49 · 1095 阅读 · 0 评论 -
leetcode题解-143. Reorder List
题目Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For example,Given {1,2,3,4}, reorder it to {1,4,2,3}原创 2017-07-06 10:02:04 · 1386 阅读 · 0 评论 -
leetcode题解-链表排序算法 147. Insertion Sort List && 148 . Sort List
上篇博客中我们回顾了数组的几大常用排序算法,这里结合链表的两道题目,我们将会实现链表的插入排序、归并排序和快速排序。首先看一下147插入排序这道题目,插入排序,顾名思义就是挨个遍历链表中的元素,然后将其插入到前面已经排序好的链表的相应位置,保持前面的链表仍然是排序链表即可。那么按照这个思路我们可以写出下面的代码: public static ListNode insertionSortList原创 2017-07-05 14:45:40 · 2990 阅读 · 0 评论 -
常用排序算法--冒泡,插入,选择,希尔,归并,快速
因为之前看一道题目的时候用到了排序算法,所以就想在总结一下这几个常用算法的思想和实现方法。 在写之前先来看一下各种方法的效率比较。1,冒泡排序法,因为代码注释比较详细,不在多说。主要是相邻元素之间比较然后交换。有两种改进思路也进行了实现。/** * 冒泡排序 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,原创 2017-06-28 18:58:32 · 1112 阅读 · 3 评论