自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 二叉搜索树的动态规划(树形DP)

leetcode96给定一个整数 n,求以1 ...n为节点组成的二叉搜索树有多少种?(注意是二叉搜索树)示例: 输入: 3 输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 ...

2019-08-21 10:42:26 242

原创 根据身高重建队列

题目:假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。Leetcode406注意:总人数少于1100人。示例输入:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:[[5,0], [7,0], [5,2], [6,1...

2019-08-15 09:32:35 152

原创 最多能完成排序的块

数组arr是[0, 1, ..., arr.length - 1]的一种排列,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。Leetcode769我们最多能将数组分成多少块?示例 1:输入: arr = [4,3,2,1,0]输出: 1解释:将数组分成2块或者更多块,都无法得到所需的结果。例如,分成 [4, 3...

2019-08-09 11:56:28 214

原创 数组的度

题目:给定一个非空且只包含非负数的整数数组nums, 数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是找到与nums拥有相同大小的度的最短连续子数组,返回其长度。Leetcode697示例 1: 输入: [1, 2, 2, 3, 1] 输出: 2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2...

2019-08-08 11:34:12 242

原创 1~n之间的数找重复元素

Leetcode287 :给定一个包含n + 1 个整数的数组nums,其数字都在 1 到 n之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2类似的题目:Leetcode645,Leetcode448,Leetcode442思路:全是一个套路,因为整数范围在1~n之间,所以我们...

2019-08-07 14:51:27 564

原创 查找和最小的K对数字

题目:给定两个以升序排列的整形数组 nums1 和 nums2, 以及一个整数 k。定义一对值(u,v),其中第一个元素来自nums1,第二个元素来自 nums2。找到和最小的 k 对数字(u1,v1), (u2,v2) ... (uk,vk)。Leetcode373示例 1:输入: nums1 = [1,7,11], nums2 = [2,4,6], k = 3 ...

2019-08-06 17:08:42 152

原创 Manacher算法及应用

问题:给定一个字符串str,返回str中最长回文子串的长度暴力解法:比如给定 "aba",遍历每个字符,首先来到 a,左右扩,左扩出界,记长度为1。然后来到 b,左右扩,左边的字符等于右边,长度加2,再扩出界,记长度为3。再来到 a,右扩出界,记为1。最长就为3。这种暴力扩法的时间复杂度为O(N^2) !注意当字符数量为偶数时,比如 "abba",按照上述扩法是不能找出回文串的,故对原字符...

2019-07-28 15:54:53 235

原创 字符串的排列

题目:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。思路:回溯法import java.util.*;public class Solution { public ArrayList<String> Permutation(String s...

2019-06-27 10:32:50 65

原创 二叉搜索树与双向链表

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路:二叉搜索树的中序遍历就是从小到大,if括号中的作用就是找到二叉树的最小值,即排序链表的第一个节点。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode...

2019-06-26 11:34:46 63

原创 二叉树中和为某一值的路径

题目:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)思路:先序遍历,即对二叉树DFS遍历。每添加一个结点判断是否是叶结点,累加和是否到target。遍历到叶节点后,回退到父节点继续遍历。/**public class TreeNod...

2019-06-25 11:31:50 47

原创 二叉搜索树的后序遍历序列

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:后序遍历的最后一个数为整棵树的根节点,如果是一颗二叉搜索树,那么它的后序遍历可以被根节点分为两个部分,左子树节点全部小于根节点,而右子树节点全部大于根节点。基于这个思路可以递归地判断左、右子树是否为二叉搜索树。第一种:public cl...

2019-06-20 15:59:02 54

原创 二叉树的镜像

问题:输入一颗二叉树,输出它的镜像。思路:前序遍历二叉树的每个节点,如果遍历到的节点有子节点,就交换它的两个子节点。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { ...

2019-06-20 10:36:59 51

原创 树的子结构

题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:遍历树A ,每找到一个与树B的头节点相等的值,就进行判断。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeN...

2019-06-19 11:19:45 66

原创 重建二叉树

题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。思路:前序遍历第一个值 1 一定是整棵树的头节点,在中序遍历中查找1的位置,1的左边 4,7,2就是头结点1的左子树节点;1的右边 5,3,8,6 就是...

2019-06-19 09:55:00 63

原创 Eclipse4.5安装STS,搭建Spring环境

走了很多弯路,希望记下经验,对大家有一点点帮助!最开始Eclipse的版本是4.5.0 。然后根据网上经验在这个网站上找到了对应的STS版本http://www.mamicode.com/info-detail-2298022.html  然年采用了离线安装方式,网上很多这方面的经验贴,我就不细说了。尝试了很多次,换jdk版本,换eclipse版本,依然失败!!!preferenc...

2019-02-20 20:35:12 559

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除