LeetCode
做题使我快乐
阿成的春天和我的太阳
找到你的爱和热爱
展开
-
LeetCode
是做题不够快乐吗,搞什么悲欢离合原创 2019-12-20 14:45:56 · 144 阅读 · 0 评论 -
LC53. 最大子序和
1. 暴力public class Solution1 { /** * 暴力解法,O(n^3) * @param nums * @return */ public static int maxSubArray(int[] nums) { if (nums == null || nums.length == 0) return...原创 2020-01-14 10:43:23 · 174 阅读 · 0 评论 -
LC52. N皇后Ⅱ
/** * @Classname Solution1 * @Description * @Date 2020/1/14 10:28 * @Author SonnSei */public class Solution1 { boolean[] rowArray; boolean[] colArray; boolean[][] board; int n; ...原创 2020-01-14 10:36:01 · 138 阅读 · 0 评论 -
LC51. N皇后
/** * @Classname Solution1 * @Description * @Date 2020/1/14 9:59 * @Author SonnSei */public class Solution1 { boolean[] rowArray; boolean[] colArray; boolean[][] board; int n; ...原创 2020-01-14 10:26:01 · 124 阅读 · 0 评论 -
LC45.跳跃游戏Ⅱ
dp超时了,要用贪心/** * @Classname Solution3 * @Description * @Date 2020/1/13 23:10 * @Author SonnSei */public class Solution3 { public int jump(int[] nums) { int end = 0; int maxPo...原创 2020-01-14 09:52:05 · 148 阅读 · 0 评论 -
LC50. pow
/** * @Classname Solution * @Description * @Date 2020/1/13 22:14 * @Author SonnSei */public class Solution { public double myPow(double x, int n) { if(n == 0)return 1.0; if (...原创 2020-01-13 22:44:48 · 139 阅读 · 0 评论 -
LC48. 旋转图像
/** * @Classname Solution * @Description * @Date 2020/1/13 22:05 * @Author SonnSei */public class Solution { public void rotate(int[][] matrix) { if(matrix == null ||matrix.length<...原创 2020-01-13 22:07:00 · 167 阅读 · 0 评论 -
LC37. 解数独
/** * @Classname Solution1 * @Description * @Date 2020/1/13 18:56 * @Author SonnSei */public class Solution1 { static int[][] rowArray = new int[9][10]; static int[][] colArray = new int...原创 2020-01-13 20:53:36 · 189 阅读 · 1 评论 -
LC35. 搜索插入位置
/** * @Classname Solution1 * @Description * @Date 2020/1/13 18:46 * @Author SonnSei */public class Solution1 { public int searchInsert(int[] nums, int target) { int pos = Arrays.bina...原创 2020-01-13 18:48:33 · 150 阅读 · 0 评论 -
LC36. 有效的数独
/** * @Classname Solution1 * @Description * @Date 2020/1/13 18:25 * @Author SonnSei */public class Solution1 { public boolean isValidSudoku(char[][] board) { int[][] rowArray = new i...原创 2020-01-13 18:45:19 · 161 阅读 · 0 评论 -
LC34. 在排序数组中查找元素的第一个和最后一个位置
** * @Classname Solution1 * @Description * @Date 2020/1/13 16:58 * @Author SonnSei */public class Solution { public int[] searchRange(int[] nums, int target) { int[] ret = {-1, -1};...原创 2020-01-13 18:43:48 · 84 阅读 · 0 评论 -
LC33. 搜索旋转排序数组
/** * @Classname Solution * @Description 搜索旋转排序数组 * @Date 2020/1/13 2:12 * @Author SonnSei */public class Solution { public static int search(int[] nums, int target) { if(nums == nul...原创 2020-01-13 16:57:06 · 87 阅读 · 0 评论 -
LC68. 文本左右对齐
这个题太无聊了/** * @Classname Solution1 * @Description TODO * @Date 2020/1/13 0:36 * @Author SonnSei */public class Solution1 { public static List<String> fullJustify(String[] words, int ma...原创 2020-01-13 01:54:42 · 116 阅读 · 0 评论 -
LC67. 二进制求和
/** * @Classname Solution1 * @Description TODO * @Date 2020/1/13 0:19 * @Author SonnSei */public class Solution1 { public String addBinary(String a, String b) { char[] charsA = a.to...原创 2020-01-13 00:30:16 · 191 阅读 · 0 评论 -
LC58.最后一个单词的长度
public class Solution1 { public int lengthOfLastWord(String s) { if(s==null || (s = s.trim()).length() == 0)return 0; int ret = 0; int right =s.length()-1; while (r...原创 2020-01-13 00:09:49 · 101 阅读 · 0 评论 -
LC49. 字母异位词分组
先来看一下我一开始的愚蠢的做法/** * @Classname Solution1 * @Description TODO * @Date 2020/1/12 22:47 * @Author SonnSei */public class Solution1 { public static List<List<String>> groupAnagram...原创 2020-01-12 23:32:41 · 118 阅读 · 0 评论 -
LC17. 电话号码的字母组合
/** * @Classname Solution1 * @Description TODO * @Date 2020/1/12 9:31 * @Author SonnSei */public class Solution1 { static String[] numbers = {"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv"...原创 2020-01-12 16:06:14 · 110 阅读 · 0 评论 -
LC16. 最接近的三数之和
/** * @Classname Solution1 * @Description TODO * @Date 2020/1/12 9:11 * @Author SonnSei */public class Solution1 { public int threeSumClosest(int[] nums, int target) { Arrays.sort(nu...原创 2020-01-12 16:05:36 · 130 阅读 · 0 评论 -
LC15. 三数之和
/** * @Classname Solution1 * @Description TODO * @Date 2020/1/12 8:55 * @Author SonnSei */public class Solution1 { public List<List<Integer>> threeSum(int[] nums) { List&...原创 2020-01-12 16:05:02 · 102 阅读 · 0 评论 -
LC14. 最长公共前缀
1. 神仙算法/** * @Classname Solution1 * @Description TODO * @Date 2020/1/11 7:00 * @Author SonnSei */public class Solution1 { /** * 神仙算法 * 时间复杂度:O(s),s为所有字符总数 * 空间复杂度:O(1) *...原创 2020-01-12 16:04:10 · 138 阅读 · 0 评论 -
LC13. 罗马数字转整数
1. 解法一/** * @Classname Solution1 * @Description TODO * @Date 2020/1/11 6:50 * @Author SonnSei */public class Solution1 { /* 优先匹配两个字符的 */ public int romanToInt(String s) { int[] ...原创 2020-01-12 16:02:25 · 182 阅读 · 0 评论 -
LC12. 整数转罗马数字
/** * @Classname Solution1 * @Description TODO * @Date 2020/1/11 6:35 * @Author SonnSei */public class Solution1 { public String intToRoman(int num) { int[] value = {1000, 900, 500, ...原创 2020-01-12 16:00:39 · 112 阅读 · 0 评论 -
LC11. 盛水最多的容器
/** * @Classname Solution1 * @Description TODO * @Date 2020/1/11 6:29 * @Author SonnSei */public class Solution1 { public int maxArea(int[] height) { if (height == null || height.len...原创 2020-01-12 15:59:59 · 185 阅读 · 0 评论 -
LC10. 正则表达式
1. 递归/** * @Classname Solution1 * @Description TODO * @Date 2020/1/11 5:09 * @Author SonnSei */public class Solution1 { public boolean isMatch(String s, String p) { // 下面这句就没有必要了//...原创 2020-01-12 15:59:12 · 161 阅读 · 0 评论 -
LC9. 回文数
1. 转字符串public class Solution9 { public boolean isPalindrome(int x) { String s = x + ""; for (int i = 0; i < s.length()/2; i++) { if(s.charAt(i)!=s.charAt(s.length()...原创 2020-01-12 15:56:09 · 158 阅读 · 0 评论 -
LC8. 字符串转整数
public class Solution8 { public int myAtoi(String str) { if (str == null) return 0; str = str.trim(); if (str.length() == 0) return 0; char c = str.charAt(0); ...原创 2020-01-12 15:54:37 · 124 阅读 · 0 评论 -
LC7. 整数反转
/** * @Classname Solution7 * @Description TODO * @Date 2019/12/9 9:50 * @Created by Jesse */public class Solution7 { public int reverse(int x) { int ret = 0; while (x != 0) {...原创 2020-01-12 15:52:28 · 81 阅读 · 0 评论 -
LC6. Z字形变换
/** * @Classname Solution6 * @Description TODO * @Date 2019/12/9 9:48 * @Created by Jesse */public class Solution6 { //关键是搞清楚题意,然后有一个转弯的标识reverse public static String convert(String s, i...原创 2020-01-12 15:50:14 · 141 阅读 · 0 评论 -
LC5.最长回文字串
中心扩展法主要思路是每次选一个中点,然后向两边扩展,找出以该中点对应的最长的回文串的长度,然后维护一个全局的最长回文串长度变量。对于奇偶数长度的不同处理方式:expandAroundCenter方法中如果传入同一个点的索引,则表示以该点为中心,对应着探索字符串长度为奇数的情况如果传入两个点的索引,则表示以这两个点之间为中心,对应着探索字符串长度为偶数的情况/** * @Classn...原创 2019-12-21 19:09:26 · 127 阅读 · 0 评论 -
LC4. 寻找两个有序数组的中位数
题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]...原创 2019-12-21 18:07:05 · 209 阅读 · 0 评论 -
LC3. 无重复字符的最长字串
解法多种多样,但是其本就就是一个滑动窗口或者说双指针,我们维护一个无重复元素的窗口,然后不断让其向右侧滑动。主要步骤非常清晰右指针移动至新字符若窗口内未包含新字符,则右指针继续移动若窗口内包含新字符,则移动左指针,将新字符上一次出现的位置移出窗口(注意此过程可能会从窗口中移除多个元素)看似花里胡哨的各种解法,其根本思路基本上就是上面说的那样,所以来看一下整个过程有哪些地方可以玩出幺蛾子...原创 2019-12-20 15:14:28 · 93 阅读 · 0 评论 -
LC2. 两数相加
主要就是进位处理的问题,其余的感觉没什么需要特别注意的/** * @Classname Solution2 * @Description 两数相加 * @Date 2019/12/9 8:23 * @Created by SunCheng */public class Solution2 { public ListNode addTwoNumbers(ListNode l1,...原创 2019-12-20 14:52:06 · 146 阅读 · 0 评论 -
LC1. 两数之和
比较容易想到的有三种解法BFmap+两遍扫描map+一遍扫描都比较简单,这里给出第三种解法的代码实现class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>(); for...原创 2019-12-20 14:45:05 · 73 阅读 · 0 评论