自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(288)
  • 资源 (6)
  • 问答 (8)
  • 收藏
  • 关注

原创 【Java - L - 0102】- m - 二叉树的层序遍历

lc-102. 二叉树的层序遍历 【Java - J - 32】

2023-09-21 23:09:56 181

原创 【Java - J - 68-Ⅰ 】二叉搜索树的最近公共祖先

题目描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5] lc 实现 方法二:一次遍历 思路与算法: –我们从根节点开始遍历; –如果当前节点的值大于 pp 和 qq 的值,说明 pp 和 qq 应该

2021-05-02 15:32:25 352 1

原创 【Java - L - 0226】e - 翻转二叉树

题目描述 翻转一棵二叉树。 lc 实现 J - 27】二叉树的镜像

2021-05-01 16:12:38 275

原创 【Java - L - 0009】e - 回文数

题目描述 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 示例 1: 输入:x = 121 输出:true lc练习 实现-m public boolean isPalindrome(int x) { if (x < 0) return false; if (x >= 0 && x <=

2021-04-23 16:53:08 400

原创 【Java - L - 0074】m - 搜索二维矩阵

题目描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 lc练习 实现 J - 04】二维数组中的查找 ...

2021-04-23 16:04:27 220

原创 【Java - L - 0082】- m - 删除排序链表中的重复元素 II

题目描述 https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/ J - 18-2】删除链表的节点-删除链表中重复的节点 实现

2021-04-22 18:39:26 126

原创 【Java - L - 0083】- e - 删除排序链表中的重复元素(不含包)

问题描述 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。 返回同样按升序排列的结果链表。 删除-不包含本节点 J - 18】删除链表的节点-删除链表中重复的节点-删除本节点 实现 public ListNode deleteDuplicates(ListNode head) { ListNode node = head; while (node != null && node.next !

2021-04-22 18:01:08 116

原创 【Java - J - --】交替打印字母数字

实现-condition static boolean flag = true; public static void main(String[] args) { Lock lock = new ReentrantLock(); Condition letter = lock.newCondition(); Condition num = lock.newCondition(); new Thread(new Runnabl

2021-04-20 11:37:26 219

原创 【Java - J - 36】二叉搜索树与双向链表

题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 lc练习 实现

2021-04-19 02:36:39 138

原创 架构设计面试精讲

课程:《架构设计面试精讲》刘海丰(拉勾) 一、架构原理与技术认知 01 技术认知 1 架构设计的4点理解? 架构拆分其实是管理在技术上提效的一种手段 –**为什么做架构拆分?**通常最直接目的就是做系统之间解耦、子系统之间解耦,或模块之间的解耦。 –**为什么要做系统解耦?**系统解耦后,使得原本错综复杂的调用逻辑能有序地分布到各个独立的系统中,从而使得拆封后的各个系统职责更单一,功能更为内聚。 –**为什么要做职责单一?**因为职责单一的系统功能逻辑的迭代速度会更快,会提高研发团队响应业务需求的速度,

2021-04-19 02:19:35 1719 4

原创 设计模式-工厂模式

文章目录基本类一、简单工厂1 图例2 实现3 适用4 优缺点二、工厂方法模式1 实例2 实现3 优缺点三、抽象工厂模式1 实例2 实现3 优缺点 《Spring源码轻松学 一课覆盖Spring核心知识点》翔仔(慕课) tips:抽象工厂管理多个controller、service 基本类 基本类和接口 public interface Mouse{ void sayHi(); } public class DellMouse implements Mouse{

2021-04-19 01:25:35 165

原创 【设计模式实现目录】

文章目录1 单例模式2 工厂模式 1 单例模式 2 工厂模式

2021-04-19 00:45:55 133

原创 【Java - L - 0155】- e - 最小栈

题目描述 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的最小元素。 lc练习 J - 30】包含min函数的栈 实现 辅助栈 class MinStack { /** initialize your data structure here. */ Stack<Integer> A, B;

2021-04-18 18:36:56 139

原创 【Java - L - 0234】- e - 回文链表

题目描述 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true lc练习 实现1-数组+指针 方法一:将值复制到数组中后用双指针法 一共为两个步骤: 复制链表值到数组列表中。 使用双指针法判断是否为回文。 复杂度分析 时间复杂度:O(n),其中 n 指的是链表的元素个数。 空间复杂度:O(n),其中 n 指的是链表的元素个数,我们使用了一个数组列表存放链表的元素值。 public bo

2021-04-18 18:05:59 169

原创 【Java - L - 0113】- m - 路径总和 II

题目描述 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22 输出:[[5,4,11,2],[5,8,4,5]] lc练习 实现 参考:lc 复杂度分析 时间复杂度:O(N^2) n的平方 空间复杂度:O(N) List<List<Integ

2021-04-18 17:21:41 187

原创 【Java - L - 0169】- e - 多数元素

题目描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 lc 实现-递归 执行结果: 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户 内存消耗:36.4 MB, 在所有 Java 提交中击败了97.57%的用户 List<Integer> res = new ArrayList<>(); public List<Integer> preorderTraversal(TreeNode root) {

2021-04-18 16:06:02 153

原创 【Java - L - 0718】- m - 最长重复子数组

题目描述 给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。 输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出:3 解释: 长度最长的公共子数组是 [3, 2, 1] 。 lc 实现1-动态规划 参考:1|2 思路: –A 、B数组各抽出一个子数组,单看它们的末尾项,如果它们俩不一样,则公共子数组肯定不包括它们俩——以它们俩为末尾项形成的公共子数组的长度为0:dp[i][j] = 0 –如果它们俩一样,以它们俩为末尾项的公共子数组,长度保底为1——dp[i

2021-04-18 15:56:47 201

原创 【Java - L - 0144】- m - 二叉树的前序遍历

题目描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 lc 实现-递归 List<Integer> res = new ArrayList<>(); public List<Integer> preorderTraversal(TreeNode root) { traversal(root); return res; } public void traversal(TreeNode ro

2021-04-10 20:03:38 163

原创 【Java - L - 0110】- e - 平衡二叉树

题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 lc J - 55】二叉树的深度_平衡二叉树 实现 public boolean isBalanced(TreeNode root) { return getDepth(root) != -1; } public int getDepth(TreeNode root) { if (root =

2021-04-10 19:27:45 114

原创 【Java - L - 0704】- e - 二分查找

题目描述 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 lc 实现 //时间复杂度:O(logN)。空间复杂度:O(1)。 public int search(int[] nums, int target) {

2021-04-10 18:11:12 163

原创 【Java - L - 0300】m - x - 最长递增子序列

题目描述 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 示例 1: 输入:nums = [10,9,2,5,3,7,101,18] 输出:4 解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。 lc 实现-dp public int lengthOfLIS(int[] nums) { if (nums == null || nums.length == 0) { return 0; } i

2021-04-09 11:34:25 188

原创 【Java - L - 0070】- e - 爬楼梯

题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 lc J - 10】斐波那列数列 J 10- II. 青蛙跳台阶问题 实现3-dp变量 public int climbStairs(int n) { if (n <= 0) return 0; if

2021-04-07 22:56:58 94

原创 【Java - L - 0260】m - 只出现一次的数字 III

题目描述 给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 进阶:你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现? 示例 1: 输入:nums = [1,2,1,3,2,5] 输出:[3,5] 解释:[5, 3] 也是有效的答案。 lc 实现 异或 J - 56】数组中数字出现的次数_数组中只出现一次的两个数字 ...

2021-04-07 18:03:21 88

原创 【Java - L - 0137】m - 只出现一次的数字 II (其他三次)

题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,3,2] 输出: 3 lc 实现 J - 56】数组中数字出现的次数_数组中唯一出现一次的数字 ...

2021-04-07 17:16:20 131

原创 【Java - L - 0136】e - 只出现一次的数字(其他两次)

题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 lc 实现 异或 class Solution { public int singleNumber(int[] nums) { if (nums == null || nums.length == 0) {

2021-04-07 16:41:49 94

原创 【Java - L - 0033】- m - 搜索旋转排序数组

题目描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], …, nums[n-1], nums[0], nums[1], …, nums[k-1]](下标 从 0 开始 计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。 给你 旋转后 的数组 nums 和一个

2021-03-30 20:19:09 102

原创 【Java - L - 0042】- h - 接雨水

ThreadLocal

2021-03-30 18:43:45 105

原创 【Java-Kafka】学习总结

马上开始…

2021-03-25 23:51:05 1023 1

原创 【Java-RabbitMQ】学习总结

马上开始

2021-03-25 23:49:55 230 1

原创 【Java-zookeeper】学习总结

什么是zk 什么是ZooKeeper? 1. 基本概念 1)总结 – ZooKeeper主要服务于分布式系统,可以用ZooKeeper来做:统一配置管理、统一命名服务、分布式锁、集群管理。 – 使用分布式系统就无法避免对节点管理的问题(需要实时感知节点的状态、对节点进行统一管理等等),而由于这些问题处理起来可能相对麻烦和提高了系统的复杂性,ZooKeeper作为一个能够通用解决这些问题的中间件就应运而生了。 2)数据结构 ZooKeeper的数据结构,跟Unix文件系统非常类似,可以看做是一颗树

2021-03-25 23:48:08 6589 1

原创 【Java - L - 0200】m - x - 岛屿数量

题目描述 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入:grid = [ [“1”,“1”,“1”,“1”,“0”], [“1”,“1”,“0”,“1”,“0”], [“1”,“1”,“0”,“0”,“0”], [“0”,“0”,“0”,“0”,“0”] ] 输出:1 lc 实现 ** 深度优先遍历dfs:** 时间复杂度:

2021-03-23 16:30:51 132

原创 【Java - L - 0054】m - x - 螺旋矩阵

题目描述 lc 29】顺时针打印矩阵 实现 public List<Integer> spiralOrder(int[][] matrix) { List<Integer> res = new ArrayList<>(); if (matrix == null || matrix.length == 0 || matrix[0].length == 0) return res; int l

2021-03-23 15:55:48 100

原创 【Java - L - 0199】m - x - 二叉树的右视图

题目描述 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <— / 2 3 <— \ 5 4 <— lc 实现1 BFS --层次遍历 利用广度优先搜索进行层次遍历,记录下每层的最后一个元素。 public List<Integer> righ

2021-03-23 15:26:42 127

原创 【Java - D】重写TreeMap和sort

题目描述 统计频率,并按序输出 实现 public class Solution { public static void sortValue(int[] nums) { TreeMap<Integer, Integer> map = new TreeMap<>(new Comparator<Integer>() { @Override public int compare(Integer o1, I

2021-03-22 14:52:43 302

原创 【Java - L - 0088】- e - 合并两个有序数组

题目描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。 示例 1: 输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3 输出:[1,2,2,3,5,6] lc J - 25】合并两个排序的链表 实

2021-03-21 17:46:02 90

原创 【Java - L - 0094】- m - 二叉树的中序遍历

题目描述 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 lc 实现 递归 时间复杂度:O(n),其中 n 为二叉树节点的个数。二叉树的遍历中每个节点会被访问一次且只会被访问一次。 空间复杂度:O(n)。空间复杂度取决于递归的栈深度,而栈深度在二叉树为一条链的情况下会达到 O(n) 的级别。 class Solution { List<Integer> res = new ArrayList<>(); public List<Integer>

2021-03-21 16:58:57 122

原创 【Java - L - 0141】- e - 环形链表

题目描述 给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。 如果链表中存在环,则返回 true 。 否则,返回 false 。 lc J - 23】链表中环的入口节点 实现 O(N) O(N) public boolean h

2021-03-21 16:34:49 107

原创 【Java - L - 0236】m - x - 二叉树的最近公共祖先

题目描述 lc J - 68-Ⅱ】树中两个节点的最低公共祖先 实现 同68.2

2021-03-21 13:26:18 100

原创 【Java - L - 0138】- m - 复制带随机指针的链表

问题描述 lc J - 35】复杂链表的复制–注意最后一段不一样 实现 思路可看:jz35 时间复杂度:O(N)。 空间复杂度:O(1)。 class Solution { public Node copyRandomList(Node head) { if (head == null) { return null; } Node node = head;

2021-03-21 02:54:38 192

原创 【Java-Spring】- 狂神说Java - 视频学习笔记2

视频地址-17-28 10 AOP

2021-03-20 18:28:10 192

图片_TensorFlow识别复杂验证码以及搭建生产环境_csdn_胡大炮的妖孽人生

TensorFlow识别复杂验证码以及搭建生产环境的验证码图片 地址:https://blog.csdn.net/huplion/article/list/4?t=1&

2019-05-08

剑指offer源代码解析

剑指offer源代码解析剑指offer源代码解析剑指offer源代码解析

2018-08-17

《揭秘深度强化学习 人工智能机器学习技术丛书》062387配套资源

《揭秘深度强化学习 人工智能机器学习技术丛书》062387配套资源

2018-08-17

2018平安产险挑战赛预测是否欠贷二分类建模

2018平安产险挑战赛预测是否欠贷二分类建模,包含代码数据集2018平安产险挑战赛预测是否欠贷二分类建模,包含代码数据集

2018-05-07

kaggle肺癌检测第一名解决方案和代码

kaggle肺癌检测第一名解决方案和代码

2018-04-26

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

TA关注的人

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