
leetcode
away_lit
一年,诚心找工作……2019.6
展开
-
leetcode76. Minimum Window Substring最小包含子串
思路:模拟挖坑填坑Your runtime beats 97.00 % of java submissions.class Solution { //76. Minimum Window Substring*,包含t中所有字符的最短子串。假设输入范围为ascii public String minWindow(String s, String t) { if(s.leng...原创 2018-03-17 00:46:00 · 402 阅读 · 0 评论 -
10类排序算法及改进
测试平台http://www.lintcode.com/zh-cn/problem/sort-integers/1.冒泡排序: 稳定,O(n*n)。 public void bubbleSort(int[] arr) { for(int i=0;i<arr.length-1;i++){//n个元素,只需要n-1趟,每趟固定一个元素到后面 for(...原创 2018-03-21 05:44:19 · 330 阅读 · 0 评论 -
BST,AVL,红黑树;B/B+树的概念及部分题解
leetcode98.验证二叉查找树、leetcode230.查找二叉查找树中第K小的元素、leetcode110.验证一颗二叉树是否是平衡二叉树1.BST(Binary Search Tree)二叉搜索树: a.性质: 1.左子树上的所有结点都小于根节点 2.右子树上的所有结点都大于根节点 3.左右子树分别也是二叉查找树(树结构一般采用递归定义,因...原创 2018-03-18 16:30:03 · 503 阅读 · 0 评论 -
leetcode101. Symmetric Tree判断一棵树是否是镜像二叉树
思路:转化为求两个二叉树是否是镜像二叉树class Solution { //判断一颗二叉树是否是镜像的 public boolean isSymmetric(TreeNode root) { if(root==null){ return true; } return isSymmetric(root.left, r...原创 2018-03-18 01:17:16 · 1117 阅读 · 0 评论 -
leetcode37. Sudoku Solver解数独
思路:枚举回溯+剪枝Your runtime beats 98.85 % of java submissionsclass Solution { private char[][] board; private boolean[][] rows; private boolean[][] cols; private boolean[][] su...原创 2018-03-18 01:13:59 · 821 阅读 · 0 评论 -
leetcode407. Trapping Rain Water II 接雨水2
思路:用优先队列维护一个'圈’(边界),从圈的短板处内溢的过程。广度优先搜索结合优先队列。class Solution{ private class Cell implements Comparable<Cell>{ int row; int col; int height; public Cell(int row, int col,...原创 2018-03-17 01:58:05 · 849 阅读 · 0 评论 -
leetcode767. Reorganize String
思想:贪心,子问题,借助大堆实现。贪心:先尽量用频次高的元素;若一轮使用后还有剩余,则交给子问题。class Solution{ private class Cell implements Comparable<Cell>{ char ch; int count; public Cell(char ch,int co...原创 2018-03-17 01:47:28 · 711 阅读 · 0 评论 -
leetcode214. Shortest Palindrome构造最短回文串
问题:给定一个字符串str,只允许在首部添加字符,求构造的最短回文串的长度。思路:找到以str[n-1]为结尾的最长回文串,设为str[i,n-1];再用前半部分的翻转链接到该串即可:reserve(str[0,i-1])+str实现:若str[i,n-1]是以str[n-1]为结尾的最长回文串,则反转str后,有reserve(str)[0,n-i-1] equals str[i,n-1],于是...原创 2018-03-17 01:40:41 · 727 阅读 · 0 评论 -
leetcode268.Missing Number缺失的数
给定一个大小为n的数组,值为0, 1, 2, ..., n,且不含重复元素,找到数组中缺少的那个数字。class Solution { //268*.给定一个包含n个不同数字的数组0, 1, 2, ..., n,找到数组中缺少的数字。异或运算.将索引和值均一起进行异或运算 //索引为[0,n-1]-->索引提供值{0,n-1}个一次;若nums缺失的是n,则nums提供值{0...原创 2018-03-17 01:27:36 · 225 阅读 · 0 评论 -
leetcode23. Merge k Sorted Lists合并K个排序链表
思路:小堆class Solution { public ListNode mergeKLists(ListNode[] lists) { if(lists.length==0){//初始化PriorityQueue如果initialCapacity<1会抛出llegalArgumentException return null; } ...原创 2018-03-17 01:22:09 · 259 阅读 · 0 评论 -
leetcode91.解码方式
暴力递归---有重叠子问题--->记忆化搜索(自顶向下)---子问题比较有规律--->动态规划(自底向上)。对于dp,要明确变量语义,如同递归,要明确函数意义。定义问题要清晰,整个过程要严格遵循语义。class Solution { public int numDecodings(String s) { int n=s.length(); if(n==0){...原创 2018-03-17 01:17:11 · 815 阅读 · 0 评论 -
leetcode32.Longest Valid Parentheses最长有效括号序列
主要利用了有效序列是连续的性质class Solution { public int longestValidParentheses(String s) { Stack<Integer> stack=new Stack<Integer>();//存贮左括号的索引 int max=0; int start=0;//...原创 2018-03-17 01:04:47 · 298 阅读 · 0 评论 -
leetcode154. Find Minimum in Rotated Sorted Array II
找含有重复元素回旋数组最小值,数组也可能没有旋转。Your runtime beats 100.00 % of java submissions.class Solution { public int findMin(int[] nums) { int low=0,high=nums.length-1; int middle; while(nums[low]&...原创 2018-03-17 00:53:46 · 159 阅读 · 0 评论 -
leetcode81. Search in Rotated Sorted Array II
思路:先找到回旋点(右段起点)同154,再对左右两段分别进行二分搜索Your runtime beats 100.00 % of java submissions.class Solution { public boolean search(int[] nums, int target) { if(nums.length==0){ return false; ...原创 2018-03-17 00:34:20 · 170 阅读 · 0 评论 -
leetcode200. Number of Islands(DFS,BFS,UnionFound)
独立连通分量的个数: class Solution { private char[][] grid; public int numIslands(char[][] grid) { if(grid.length==0){ return 0; } this.grid=gri...原创 2018-03-26 14:07:50 · 509 阅读 · 0 评论