自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寒泉

一只野生程序猿

  • 博客(59)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode 303. 区域和检索 - 数组不可变(Java版)

题目303. 区域和检索 - 数组不可变题解经典的累加和问题。定义一个数组 sum,存放数组从 0 到 sum 的累加和。欲求某区间的累加和,只需将对应位置 sum 相减即可。时间复杂度O(n),空间复杂度O(n)代码class NumArray { public int[] sum; // 累加和数组 public NumArray(int[] nums) { sum = new int[nums.length + 1]; sum[0

2020-12-31 12:25:41 67088

原创 leetcode 292. Nim Game | 292. Nim 游戏(DP->数学推理)

题目https://leetcode-cn.com/problems/nim-game/题解本题实际上是一个需要分析的数学题。如果第一时间没有发现规律的话,可以尝试先用递归法,暴力输出前几个,观察规律。// 用本函数跑 1~100,找规律public boolean canWin(int n) { if (n <= 3) return true; // canWinNim(n-1), canWinNim(n-2), canWinNim(n-3) 只要有一个为false本轮就

2020-12-31 08:33:57 67572

原创 左神算法:判断二叉树是否为平衡二叉树(树形dp套路,Java版)

本题来自左神《程序员代码面试指南》“判断二叉树是否为平衡二叉树”题目。题目平衡二叉树的性质为:要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过 1。给定一棵二叉树的头节点 head,判断这棵二叉树是否为平衡二叉树。要求:如果二叉树的节点数为 N,则要求时间复杂度为 O(N)。题解平衡二叉树的标准是:对任何子树来说,左子树和右子树的高度差都不超过1。本题解法的整体过程为 树形 dp 套路,请读者先阅读 “找到二叉树中的最大搜索二叉子树” 问题了解这个套路,本题是这个套路的再次展.

2020-12-30 23:53:26 67195

原创 leetcode 290. 单词规律(Java版)

题目https://leetcode-cn.com/problems/word-pattern/题解题目要求 pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着 双向连接 的对应规律,因此,建立两个 hashmap,分别验证正向、反向是否对应即可。class Solution { public boolean wordPattern(String pattern, String s) { HashMap<Character, String>

2020-12-30 19:49:54 66121

原创 leetcode 283. 移动零(Java版)

题目题解定义一个变量 count,用于记录累计非 0 个数,可以理解为指向第一个 0 位置的指针。对数组进行遍历,每当遇到非 0 元素时,将此元素复制到 count 指针所指向的位置。数组遍历结束后,将 count 及其后面的元素全部归零。时间复杂度O(n),空间复杂度O(1)class Solution { public void moveZeroes(int[] nums) { int count = 0;//count表示累计非0个数,可以理解为指向第一个0位

2020-12-30 09:29:51 66845 1

原创 leetcode 278. 第一个错误的版本(Java版)

题目https://leetcode-cn.com/problems/first-bad-version/题解二分查找即可,注意可能会溢出,过程要用 long 类型/* The isBadVersion API is defined in the parent class VersionControl. boolean isBadVersion(int version); */public class Solution extends VersionControl { publ

2020-12-29 19:31:55 68073

原创 本地 MarkDown 怎么部署到服务器上?教你使用 Docsify 搭建个人博客

使用Docsify搭建文档类型网站docsify 可以快速帮你生成文档网站。不同于 GitBook、Hexo 的地方是,它不会生成静态的 .html 文件,所有转换工作都是在运行时。如果你想要开始使用它,只需要创建一个 index.html 就可以开始编写文档并直接部署在 GitHub Pages。Docsify官方文档:https://docsify.js.org/#/zh-cn/安装 docsify-cli 工具推荐全局安装 docsify-cli 工具,可以方便地创建及在本地预览生成的文档。

2020-12-29 18:11:11 72023 1

原创 左神算法:判断 t1 树中是否有与 t2 树拓扑结构完全相同的子树(Java版)

本题来自左神《程序员代码面试指南》“判断 t1 树中是否有与 t2 树拓扑结构完全相同的子树”题目。题目给定彼此独立的两棵树头节点分别为 t1 和 t2,判断 t1 中是否有与 t2 树拓扑结构完全相同的子树。例如,如图3-36 所示的 t1 树和如图 3-37 所示的 t2 树。题解如果 t1 的节点数为 N,t2 的节点数为 M,则本题最优解是时间复杂度为O(N+M)的方法。首先简单介绍一个时间复杂度为O(N×M)的方法:对于 t1 的每棵子树,都去判断是否与 t2 树的拓扑结构完.

2020-12-28 09:30:12 66213

原创 leetcode 268. 丢失的数字(Java版)

题目https://leetcode-cn.com/problems/missing-number/题解解法 1本题要求线性时间复杂度、仅使用额外常数空间的算法解决此问题,其实质是一个数学问题。由于给定的数组本应包含从 0 到 n 范围内的所有数字,故可以将其看做一个首项为 0,尾项为length,步增为 1 的等差数列。因此,求“缺项”的问题,可以转化为:先求等差数列前 n 项和,再减去已经存在的每一项 的问题。本算法的时间复杂度为O(n),空间复杂度为O(1)package test

2020-12-27 23:42:47 67948

原创 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)

本题来自左神《程序员代码面试指南》“判断 t1 树是否包含t2 树全部的拓扑结构”题目。题目剑指 Offer 26. 树的子结构给定彼此独立的两棵树头节点分别为 t1 和 t2,判断 t1 树是否包含 t2 树全部的拓扑结构。例如,如图 3-34 所示的 t1 树和如图 3-35 所示的 t2 树。题解思路如下。如果 t1 中某棵子树头节点的值与 t2 头节点的值一样,则从这两个头节点开始匹配。匹配的每一步,都让 t1 上的节点跟着 t2 上的节点的先序遍历移动,每移动一步,都检查 t.

2020-12-25 16:19:06 69415

原创 操作系统例题:某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表

题目某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为______。(2017统考真题)A. 5B. 9C. 12D. 20答案本题答案为:D分析可以把用户访问权限抽象为一个矩阵,行代表用户,列代表访问权限。这个矩阵有 4 行 5 列,1 代表 true,0 代表 false,所以需要 2

2020-12-23 18:18:34 73797 25

原创 leetcode 263. 丑数(Java版)

题目https://leetcode-cn.com/problems/ugly-number/题解思路比较简单,如下:如果当前数可以被 2、3、5 当中任意一个整除,就一直除,直到不能被 2、3、5 当中任意一个整除为止。如果此时结果不为 1,说明还有其他因数,不是丑数。代码class Solution { public boolean isUgly(int num) { if (num == 0) return false; while (num !=

2020-12-22 18:36:04 66831 1

原创 左神算法:调整搜索二叉树中两个错误的节点(Java版)

本题来自左神《程序员代码面试指南》“调整搜索二叉树中两个错误的节点”题目。原问题:一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请找到这两个错误节点并返回。已知二叉树中所有节点的值都不一样,给定二叉树的头节点 head,返回一个长度为 2 的二叉树节点类型的数组 errs,errs[0] 表示一个错误节点,errs[1] 表示另一个错误节点。进阶问题:如果在原问题中得到了这两个错误节点,我们当然可以通过交换两个节点的节点值的方式让整棵二叉树

2020-12-22 18:23:46 68095 1

原创 面试必会系列 - 5.1 网络BIO、NIO、epoll,同步/异步模型、阻塞/非阻塞模型,你能分清吗?

BIO,NIO,epoll同步/异步模型、阻塞/非阻塞模型同步:当一个同步调用发出后,调用者要一直等待返回结果。通知后,才能进行后续的执行。异步:当一个异步过程调用发出后,调用者不能立刻得到返回结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。阻塞:是指调用结果返回前,当前线程会被挂起,即阻塞。非阻塞:是指即使调用结果没返回,也不会阻塞当前线程。比喻:小Q去钓鱼,抛完线后就傻傻的看着有没有动静,有则拉杆(同步阻塞)小Q去钓鱼,拿鱼网捞一下,有没有鱼立即知道,不用等,直

2020-12-22 18:00:22 67241 3

原创 leetcode 258. 各位相加(Java版)

题目https://leetcode-cn.com/problems/add-digits/题解方法一:双 while常规解法。题目描述即思路,反复将各个位上的数字相加,直到结果为一位数,返回即可。public class Solution { public static int addDigits(int num) { int sum = num; while (sum / 10 != 0) { num = sum;

2020-12-22 00:13:00 68081 1

原创 leetcode 257. 二叉树的所有路径(Java版)

题目https://leetcode-cn.com/problems/binary-tree-paths/题解二叉树前序遍历即可每走到一个节点,将当前节点的值拼到路径字符串 str 中。如果走到的是叶子结点,说明当前路径已经结束。将拼好的字符串 str 加入到 list 中。前序遍历完成后,得到的 list 即为所求。复杂度分析因为是前序遍历,所以之间复杂度 O(n),空间复杂度O(h)。其中,n 表示二叉树节点个数,h 表示二叉树深度。代码为了可读性,本文直接用 “+” 做字符

2020-12-21 18:30:32 68992 1

原创 左神算法:二叉树的按层打印与ZigZag打印(Java版)

本题来自左神《程序员代码面试指南》“二叉树的按层打印与ZigZag打印”题目。题目给定一棵二叉树的头节点 head,分别实现 按层 和 ZigZag 打印 二叉树的函数。例如,二叉树如图 3-29 所示。按层打印时,输出格式必须如下:Level 1 : 1Level 2 : 2 3Level 3 : 4 5 6Level 4 : 7 8ZigZag 打印时,输出格式必须如下:Level 1 from left to right: 1Level 2 from right to l.

2020-12-21 00:20:43 69291 2

原创 leetcode 242. 有效的字母异位词(Java版)

题目https://leetcode-cn.com/problems/valid-anagram/题解本题默认所有字母均为小写字母。首先,建一个容量为26的数组,存放每一个字母出现的次数。然后,遍历字符串s、t中的每一个字母,同一个字母在两字符串中出现的次数可以相互抵消。最后,看整个数组是否全部抵消,即是否每一个元素均为0即可。代码public class Solution { public boolean isAnagram(String s, String t) {

2020-12-20 21:56:02 66919 1

原创 leetcode 237. 删除链表中的节点(左神算法:一种怪异的节点删除方式、此方法存在的问题分析)

题目题解一种怪异的节点删除方式本题的思路很简单,举例就能说明具体的做法。例如,链表1->2->3->null,只知道要删除节点2,而不知道头节点。那么只需把节点2 的值变成节点3 的值,然后在链表中删除节点3 即可。这道题目出现的次数很多,这么做看起来非常方便,但 其实是有很大问题的。存在的问题一这样的删除方式 无法删除最后一个节点。还是以原示例来说明,如果知道要删除节点3,而不知道头节点。但它是最后的节点,根本没有下一个节点来代替节点3 被删除,那么只有让节点2 的ne

2020-12-20 18:50:16 68144

转载 架构师之路:粉丝关系链,10亿数据,如何设计?

目录粉丝关系链,10亿数据,如何设计?什么是关系链业务?弱好友关系的建立,不需要双方彼此同意:强好友关系的建立,需要好友关系双方彼此同意:弱好友关系,存储层应该如何实现?如何查询一个用户关注了谁?如何查询一个用户粉了谁?强好友关系,存储层应该如何实现?方案一uid=1的用户添加了uid=2的用户,双方都同意加彼此为好友,这个强好友关系,在数据库中应该插入记录{1, 2}还是记录{2,1}呢?如何查询一个用户的好友呢?方案二两种实现,各有什么优缺点?如何进行数据冗余?方法一:服务同步冗余方法二:服务异步冗余方

2020-12-20 16:44:58 66910

原创 leetcode 235. 二叉搜索树的最近公共祖先(Java版,树形dp套路)

题目原题地址:leetcode 235. 二叉搜索树的最近公共祖先说明:所有节点的值都是唯一的。p、q 为不同节点且均存在于给定的二叉搜索树中。题解关于 树形dp 套路,可以参考我的另一篇博客:左神算法:找到二叉树中的最大搜索二叉子树(Java版)下面简述本题思路:首先,如何判断一个节点 head 是否是 p、q 的公共祖先?只需要用二分查找的方式,判断以 head 为头的树中是否包含 p、q 即可。然后,如何找到“最近”的公共祖先?直观上看,最近的公共祖先,一定是所有的公共祖先中

2020-12-20 00:05:34 68379 4

原创 左神算法:找到二叉树中符合搜索二叉树条件的最大拓扑结构(Java版)

本题来自左神《程序员代码面试指南》“找到二叉树中符合搜索二叉树条件的最大拓扑结构”题目。题目牛客OJ:找到二叉树中符合搜索二叉树条件的最大拓扑结构给定一棵二叉树的头节点head,已知所有节点的值都不一样,返回其中最大的且符合搜索二叉树条件的最大拓扑结构的大小。例如,二叉树如图 3-19 所示。其中最大的且符合搜索二叉树条件的拓扑结构如图3-20 所示。这个拓扑结构节点数为8,所以返回8。题解方法一:二叉树的节点数为N,时间复杂度为O(N^2)的方法。首先来看这样一个问题,以节点 h.

2020-12-18 21:30:11 68968 4

原创 左神算法:找到二叉树中的最大搜索二叉子树(树形dp套路,Java版)

本题来自左神《程序员代码面试指南》“找到二叉树中的最大搜索二叉子树”题目。题目给定一棵二叉树的头节点 head,已知其中所有节点的值都不一样,找到含有节点最多的搜索二叉子树,并返回这棵子树的头节点。例如,二叉树如图 3-17 所示。这棵树中的最大搜索二叉子树如图 3-18 所示。要求:如果节点数为 N,则要求时间复杂度为 O(N),额外空间复杂度为 O(h),其中,h 为二叉树的高度。题解本题涉及二叉树面试题中一个很常见的套路,也是全书的一个重要内容。利用分析可能性求解在二叉树上做类似动.

2020-12-18 12:46:42 69932

原创 左神算法:未排序正数数组中累加和为给定值的最长子数组长度(Java版)

牛客OJ:[未排序数组中累加和为给定值的最长子数组长度] 题目:给定一个无序数组arr, 其中元素可正、可负、可0。给定一个整数k,求arr所有子数组中累加和为k的最长子数组长度。本文提供的方法可以做到时间复杂度为O(N)、额外空间复杂度为O(N)。题解:为了说明解法,先定义s 的概念,s(i)代表子数组arr[0..i]所有元素的累加和。那么子数组arr[j..i(] 0≤j≤i<arr.length)的累加和为s(i)-s(j-1),因为根据定义,

2020-12-18 00:16:55 69070

原创 左神算法:在二叉树中找到累加和为指定值的最长路径长度(Java版)

本题来自左神《程序员代码面试指南》“在二叉树中找到累加和为指定值的最长路径长度”题目。题目给定一棵二叉树的头节点 head 和一个 32 位整数 sum,二叉树节点值类型为整型,求累加和为 sum 的最长路径长度。“路径” 是指从某个节点往下,每次最多选择一个孩子节点或者不选所形成的节点链。例如,二叉树如图 3-16 所示。如果 sum=6,那么累加和为 6 的最长路径为:-3,3,0,6,所以返回 4。如果 sum=-9,那么累加和为 -9 的最长路径为:-9,所以返回 1。注:本题不用考.

2020-12-17 19:16:31 68012 2

原创 左神算法:遍历二叉树的神级方法(Morris遍历 / 线索二叉树)

本题来自左神《程序员代码面试指南》“遍历二叉树的神级方法”题目。题目给定一棵二叉树的头节点 head,完成二叉树的先序、中序和后序遍历。如果二叉树的节点数为N,则要求时间复杂度为O(N),额外空间复杂度为O(1)。题解之前的题目已经剖析过如何用递归和非递归的方法实现遍历二叉树,但是很不幸,之前所有的方法虽然常用,但都无法做到额外空间复杂度为O(1)。这是因为遍历二叉树的递归方法实际使用了函数栈,非递归的方法使用了申请的栈,两者的额外空间都与树的高度相关,所以空间复杂度为O(h),h为二叉树的高度.

2020-12-16 20:27:16 69696

原创 leetcode 228. 汇总区间(Java版)

题目示例 1:输入:nums = [0,1,2,4,5,7]输出:["0->2","4->5","7"]解释:区间范围是:[0,2] --> "0->2"[4,5] --> "4->5"[7,7] --> "7"示例 2:输入:nums = [0,2,3,4,6,8,9]输出:["0","2->4","6","8->9"]解释:区间范围是:[0,0] --> "0"[2,4] --> "2->4"[6,6

2020-12-16 18:34:01 65892

原创 高等数学:非齐次线性微分方程解的结构(含例题解析)

非齐次线性微分方程解的结构非齐次线性微分方程,是具有非齐次项的线性微分方程。其中,一阶非齐次线性微分方程的表达式为 y'+p(x)y=Q(x)二阶常系数非齐次线性微分方程的表达式为 y''+py'+qy=f(x)非齐次线性微分方程的通解,是由其对应的 齐次方程的通解 加上 非齐次线性微分方程的一个特解 组成。笔记以及例题如下:...

2020-12-16 17:50:57 104968

原创 爬虫实战:CentOS安装JDK,部署Java程序,利用screen使其保持在前台运行

一、CentOS 7 yum 安装与配置 JDK参考:https://blog.csdn.net/github_38336924/article/details/822212581、检查是否已安装JDK及卸载yum list installed | grep [java][jdk]执行命令出现如上图所示,需要卸载,反之即不用。卸载JAVA环境:yum -y remove java-1.6.0-openjdk* //表时卸载所有openjdk相关文件输入yum -y remove tzda

2020-12-15 20:17:09 67880 7

原创 左神算法:二叉树的序列化和反序列化(Java版)

本题来自左神《程序员代码面试指南》“二叉树的序列化和反序列化”题目。题目二叉树被记录成文件的过程叫作二叉树的序列化,通过文件内容重建原来二叉树的过程叫作二叉树的反序列化。给定一棵二叉树的头节点head,已知二叉树节点值的类型为32 位整型。请设计一种二叉树序列化和反序列化的方案,并用代码实现。题解本文提供两套序列化和反序列化的实现,供读者参考。方法一:通过先序遍历实现序列化和反序列化。先介绍先序遍历下的序列化过程,首先假设序列化的结果字符串为str,初始时str=""。先序遍历二叉树,如果遇.

2020-12-15 10:12:58 68607

原创 面试必会系列 - 4.1 程序员必须掌握的:计算机组成、操作系统知识点汇总

计组、操作系统汇编和操作系统代码,又是不同层面的东西。汇编是针对CPU编程。系统内核方法,是针对操作系统编程。CPU电路原理 CPU的基本组成PC -> Program Counter 程序计数器 (记录当前指令地址)Registers -> 暂时存储CPU计算需要用到的数据ALU -> Arithmetic & Logic Unit 运算单元缓存行对齐伪共享问题缓存行大小缓存行越大,局部性空间效率越高,但读取时间慢;缓存行越小,局部性空间效率越低,但读取时间快。取一个折中值,目前 Inte

2020-12-13 22:56:15 70181 2

原创 左神算法:如何较为直观地打印二叉树(Java版)

本题来自左神《程序员代码面试指南》“如何较为直观地打印二叉树”题目。题目二叉树可以用常规的三种遍历结果来描述其结构,但是不够直观,尤其是二叉树中有重复值的时候,仅通过三种遍历的结果来构造二叉树的真实结构更是难上加难,有时则根本不可能。给定一棵二叉树的头节点head,已知二叉树节点值的类型为32 位整型,请实现一个打印二叉树的函数,可以直观地展示树的形状,也便于画出真实的结构。题解这是一道较开放的题目,实现者不仅要设计出符合要求且不会产生歧义的打印方式,还要考虑实现难度,在面试时仅仅写出思路必然.

2020-12-13 22:38:45 70277 1

原创 Java多线程:示例代码

仅供学习、测试使用,不要为了刷数据偷懒噢...使用方式将要博客地址(可以是CSDN主页、CSDN任意博客页)填写入第23行的变量MYURL中,点击运行即可本程序【自动检测】该页所对应博主的【用户ID】,并访问该博主【用户ID】名下所有博客链接运行效果代码package cn.hanquan.file;import java.io.BufferedReader;im...

2020-12-13 15:10:44 68743 9

原创 左神算法:二叉树的最大 / 最小深度(普通+Morris遍历进阶)(Java版)

二叉树的最小深度题目https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/二叉树定义如下:// Definition for a binary tree node.class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}普通版题解时间复杂度O(n

2020-12-13 00:30:24 65667 3

原创 面试必会系列 - 3.1 Redis知识点大汇总(数据类型,内存模型,持久化,缓存击穿,集群,一致性哈希等等)

Redis常问问题Redis 五种基本数据结构1、字符串 string2、列表 list3、字典 hash4、集合 set5、有序集合 zset内存模型数据类型使用在 Java 中的 API 使用持久化RDBAOF缓存常见问题缓存击穿缓存穿透缓存雪崩缓存一致性(双写问题)Redis 集群AKF 拆分原则拆分之后,怎么知道数据存在哪台机器了?去哪里取数据?AKF 存在的问题:CAP定理集群一般使用奇数台Sentinel 哨兵一致性哈希普通的哈希算法存在的问

2020-12-12 12:07:01 68794 7

原创 左神算法:分别用递归和非递归方式实现二叉树先序、中序和后序遍历(Java版)

本题来自左神《程序员代码面试指南》“分别用递归和非递归方式实现二叉树先序、中序和后序遍历”题目。题目用递归和非递归方式,分别按照二叉树先序、中序和后序打印所有的节点。我们约定:先序遍历顺序为根、左、右;中序遍历顺序为左、根、右;后序遍历顺序为左、右、根。二叉树节点定义如下:public static class Node { public int value; public Node left; public Node right; public Node(int data.

2020-12-11 22:41:22 68471 5

原创 面试必会系列 - 2.1 MySQL知识点大汇总(基本架构,存储引擎,锁,事务,索引,B+树等等)

局部性原理时间、空间局部性数据和程序的存储,都有聚集成群的倾向,相关关联的数据可能被放在一起。同时,之前查询过的数据,短时间内可能再次被查询。磁盘预读当内存和磁盘发生交互的时候,是以一个逻辑单元 “页” 为单位进行交互的,“页”是磁盘和内存交互的最小单位,一般是 4k 或 8k。读取的时候可以以页为单位,也可以是页的整数倍。SSD 4K 对齐,能够加快查询效率MySQL 日志有多少种?binlog, undolog, redolog, relaylog(主从复制), errorlog,

2020-12-11 18:42:26 68391 14

原创 面试必会系列 - 1.8 Spring IOC / AOP原理

Spring 原理概览IOCAOPIOCSpring IOC 常用注解使用注解的方式将 bean 注册到 IOC 容器中这四个注解写在类上面的时候,都可以完成注册bean 的功能,但是这些规定并不是spring识别的依据在spring运行过程中,不会对这4个注解做任何区分,看起来都是一样的,都会完成bean的注册功能在实际开发中,最好能分清楚,提高代码的可读性@Component组件,理论上可以在任何位置添加,在扫描的时候都会完成 bean 的注册。最偷懒的方式,就是给所有需要注

2020-12-11 18:29:53 70626 5

原创 leetcode 64. 最小路径和(递归 / 动态规划解法图解)(Java版)

题目leetcode 64. 最小路径和提示:m == grid.lengthn == grid[i].length1 <= m, n <= 2000 <= grid[i][j] <= 100题解方法一:递归解法(超时)right 表示当前向已右走的步数,down 表示当前已向下走的步数,cur 表示当前走过的路径和。此方法超时,应该使用 (方法二)动态规划解法。public static int minPathSum1(int[][] grid) {

2020-12-10 23:55:10 66743 7

原创 左神算法:将搜索二叉树转换成双向链表(Java版)

题目对二叉树的节点来说,有本身的值域,有指向左孩子节点和右孩子节点的两个指针;对双向链表的节点来说,有本身的值域,有指向上一个节点和下一个节点的指针。在结构上,两种结构有相似性,现在有一棵搜索二叉树,请将其转换为一个有序的双向链表。例如,节点定义为:public static class Node { public int value; public Node left; public Node right; public Node(int data) { this.value = d.

2020-12-10 18:28:26 64622 4

Java小球躲避小游戏

Java开发的小球躲避小游戏。通过上下左右按键控制小球移动,小球移动的方向包括:横向、纵向、斜向,小球具有初始生命值。小球通过移动来躲避炮弹,当小球碰到炮弹时,产生爆炸的动画效果。注释很全面,速度、初始子弹数量都可以通过全局变量修改。适合入门学习使用。

2019-06-24

空空如也

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

TA关注的人

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