leetcode题集
整理刷过的leetcode,大家一起努力昂~
韩梅梅meimei
这个作者很懒,什么都没留下…
展开
-
【leetcode】43. Multiply Strings
网址题目两个字符串形式的数相乘得到的结果以字符串形式存储。解法来自网址public String multiply(String num1, String num2) { int m = num1.length(), n = num2.length(); int[] pos = new int[m + n]; for(int i = m - 1; i &...原创 2019-02-02 22:13:12 · 117 阅读 · 0 评论 -
【leetcode】41. First Missing Positive
网址题目解法1我说这题咋hard呢,贴上题目才发现我的解法消耗了额外的空间class Solution { public int firstMissingPositive(int[] nums) { int[] seen = new int[nums.length]; for(int i = 0; i < nums.length; i++...原创 2019-02-02 21:31:50 · 106 阅读 · 0 评论 -
【leetcode】40. Combination Sum II
网址题目同上一题,不同的是加和的数不能重复解法import java.util.Arrays;class Solution { public List<List<Integer>> combinationSum2(int[] candidates, int target) { List<List<Integer>> ...原创 2019-02-02 19:41:43 · 95 阅读 · 0 评论 -
【leetcode】39. Combination Sum
网址题目给定一个数组和一个值,找出所有满足相加为这个值的数的集合。解法1第一眼看到这题就知道应该用回溯做,但具体的怎么写代码又有点懵,看了看讨论区的代码,其实一般的架构就是一个大的 for 循环,然后先 add,接着利用递归进行向前遍历,然后再 removeimport java.util.Arrays;class Solution { public List<Lis...原创 2019-02-02 19:31:24 · 105 阅读 · 0 评论 -
【leetcode】38. Count and Say
网址题目题意有点难理解,实际上就是一个递归的思路,后一个值是前一个值的叫法。理解题意之后,这题就很简单了。解法class Solution { public String countAndSay(int n) { String seq = "1"; for(int i = 1; i < n; i++){ List li...原创 2019-02-02 18:24:48 · 110 阅读 · 0 评论 -
【leetcode】37. Sudoku Solver
网址题目解决数独解法class Solution { public void solveSudoku(char[][] board) { solve(board); } private boolean solve(char[][] board) { for(int i = 0; i &lt; 9; i++){ ...原创 2019-02-02 17:50:22 · 94 阅读 · 0 评论 -
【leetcode】36. Valid Sudoku
网址题目判断数独的棋盘是否合法解法我只想到通过暴力遍历三次棋盘解决,看discussion第一名是非常tricky的解法,具体代码如下public boolean isValidSudoku(char[][] board) { Set seen = new HashSet(); for (int i=0; i<9; ++i) { for (int...原创 2019-02-02 17:23:11 · 101 阅读 · 0 评论 -
【leetcode】35. Search Insert Position
网址题目给定一个按顺序排列的数组和一个数,寻找这个数在数组中的位置。解法class Solution { public int searchInsert(int[] nums, int target) { int start = 0, end = nums.length - 1, mid = (start+end)/2; while(start &l...原创 2019-02-02 16:09:05 · 85 阅读 · 0 评论 -
【leetcode】34. Find First and Last Position of Element in Sorted Array
网址题目给定一个从小到大排列的数组和一个数,寻找这个数在数组中的位置。解法class Solution { public int[] searchRange(int[] nums, int target) { int start = 0, end = nums.length - 1; int[] ans = {-1, -1}; whi...原创 2019-02-02 14:23:09 · 79 阅读 · 0 评论 -
【leetcode】33. Search in Rotated Sorted Array
网址题目一顺序排列的数组以某个位置为中心旋转后所得数组,从中以O(lognlognlogn)时间找到某个数的索引。解法挺简单一题,花在debug时间较长,一些特殊情况总是没搞对…我的做法是找出偏移量的大小,再基于这个偏移量二分这个时间超过100%的人也是惊了原创 2019-02-02 13:19:01 · 96 阅读 · 0 评论 -
【leetcode】32. Longest Valid Parentheses
网址题目给定一堆括号,找出能匹配的子串的最大长度。解法1 栈刚开始我自己的想法也是用栈,但push进去的是括号,后来发觉这样做无法定义连续,才想到栈应该存储的是索引,但怎么放索引脑子很混搞不清楚看了leetcode的solution,它的做法是存入合法序列前一个位置的索引,方便后面计算长度。那什么样的位置可能是合法序列前一个位置的索引呢?一是右括号,前面没有能匹配的左括号;二是左括号,...原创 2019-02-02 11:19:26 · 114 阅读 · 0 评论 -
【leetcode】31. Next Permutation
网址题目这题意理解了好久。。一直没看懂输出怎么来的,看了讨论区才明白是要找到比当前输入刚好大的排列。思路我的思路一直都好直呀原创 2019-02-01 15:52:55 · 78 阅读 · 0 评论 -
【leetcode】30. Substring with Concatenation of All Words
网址题目给定一个字符串和一堆单词相同长度的单词,找出包含所有单词组合的字符串的索引这道题有点难度,我刚开始想着先找出每个单词在字符串中的索引,然后遍历找到的索引差是否一致来判断,但是这样貌似无法实现。看了看讨论区大神的解法是这样的:...原创 2019-01-23 01:31:18 · 85 阅读 · 0 评论 -
【leetcode】29. Divide Two Integers
网址题目求两数相除的商,非常简单的题Java错误答案刚开始就很简单的这样写了,但存在的问题是可能两数分别为-2147483648和-1,得出来的值是超过 int 范围的(-2147483648~2147483647 也就是−231-2^{31}−231~ 231−12^{31}-1231−1 )class Solution { public int divide(int ...原创 2019-01-18 15:05:50 · 104 阅读 · 0 评论 -
【leetcode】28.Implement strStr() & KMP & Boyer-Moore
网址Java原创 2019-01-17 18:43:55 · 199 阅读 · 0 评论 -
【leetcode】27.Remove Element
网址Java我的解题class Solution { public int removeElement(int[] nums, int val) { int j = 0; //j is the index for(int i = 0; i < nums.length; i++){ if(nums[i] == val){ ...原创 2019-01-17 11:45:47 · 82 阅读 · 0 评论 -
【leetcode】leetcode刷题汇总
熬过了期末整个人都懒懒的 要不断学习,勤更新鸭原创 2019-02-02 22:35:03 · 284 阅读 · 0 评论