自定义博客皮肤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 127

原创 【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 243 1

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

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

2021-05-01 16:12:38 225

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

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

2021-04-23 16:53:08 205

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

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

2021-04-23 16:04:27 133

原创 【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 88

原创 【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 80

原创 【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 160

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

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

2021-04-19 02:36:39 95

原创 架构设计面试精讲

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

2021-04-19 02:19:35 1161 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 126

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

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

2021-04-19 00:45:55 96

原创 【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 81

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

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

2021-04-18 18:05:59 131

原创 【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 108

原创 【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 82

原创 【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 115

原创 【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 85

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

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

2021-04-10 19:27:45 76

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

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

2021-04-10 18:11:12 111

原创 【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 103

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

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

2021-04-07 22:56:58 57

原创 【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 60

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

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

2021-04-07 17:16:20 89

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

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

2021-04-07 16:41:49 61

原创 【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 62

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

ThreadLocal

2021-03-30 18:43:45 59

原创 【Java-Kafka】学习总结

马上开始…

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

原创 【Java-RabbitMQ】学习总结

马上开始

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

原创 【Java-zookeeper】学习总结

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

2021-03-25 23:48:08 5675 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”]]输出:1lc实现** 深度优先遍历dfs:**时间复杂度:

2021-03-23 16:30:51 80

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

题目描述lc29】顺时针打印矩阵实现 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 63

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

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

2021-03-23 15:26:42 76

原创 【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 254

原创 【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]lcJ - 25】合并两个排序的链表实

2021-03-21 17:46:02 56

原创 【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 81

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

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

2021-03-21 16:34:49 68

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

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

2021-03-21 13:26:18 66

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

问题描述lcJ - 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 139

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

视频地址-17-2810 AOP

2021-03-20 18:28:10 153

图片_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-05-07

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

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

2018-05-07

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

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

2018-04-26

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

TA关注的人

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