自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ada的博客

JAVA-学习中...

  • 博客(50)
  • 收藏
  • 关注

原创 DAY41-动态规划-买卖股票

LeetCode123.买卖股票的最佳时机III。LeetCode122.买卖股票的最佳时机II。LeetCode121. 买卖股票的最佳时机。

2024-08-12 12:47:59 98

原创 DAY39-动态规划-打家劫舍

LeetCode337.打家劫舍III。LeetCode213.打家劫舍II。LeetCode198.打家劫舍。

2024-08-10 14:09:54 104

原创 DAY38-动态规划-完全背包

LeetCode322. 零钱兑换。LeetCode322. 零钱兑换。LeetCode279.完全平方数。LeetCode139.单词拆分。

2024-08-09 15:41:03 96

原创 DAY37-动态规划-背包问题

LeetCode518. 零钱兑换 II。LeetCode377. 组合总和 Ⅳ。

2024-08-09 15:34:16 93

原创 DAY36-动态规划-01背包plus

LeetCode1049. 最后一块石头的重量 II。LeetCode1049. 最后一块石头的重量 II。LeetCode494. 目标和。LeetCode474.一和零。

2024-08-07 16:17:24 153

原创 DAY31-贪心算法

LeetCode738.单调递增的数字。LeetCode56. 合并区间。LeetCode56. 合并区间。

2024-08-06 11:55:38 76

原创 DAY34-动态规划-不同路径与整数拆分

LeetCode63. 不同路径 II。LeetCode96.不同的二叉搜索树。LeetCode343.整数拆分。LeetCode62.不同路径。LeetCode62.不同路径。

2024-08-06 11:51:33 165

原创 DAY35-动态规划-01背包

LeetCode416. 分割等和子集。

2024-08-06 11:43:31 99

原创 DAY32-动态规划

LeetCode746. 使用最小花费爬楼梯。LeetCode509. 斐波那契数。LeetCode509. 斐波那契数。LeetCode70. 爬楼梯。

2024-08-04 14:58:24 85

原创 JAVA-反射

反射允许对封装类的和的信息进行编程访问。从文件获取对象。

2024-08-02 23:06:00 489

原创 Redis实战

实现流程实现流程实现流程。

2024-08-01 21:28:48 1115

原创 DAY30-贪心(区间算法)

LeetCode452. 用最少数量的箭引爆气球。LeetCode435. 无重叠区间。LeetCode763.划分字母区间。重点:维护一个最右区间长度。

2024-08-01 15:53:10 236

原创 DAY28-贪心

LeetCode1005.K次取反后最大化的数组和。LeetCode122.买卖股票的最佳时机II。LeetCode45.跳跃游戏II。LeetCode55. 跳跃游戏。

2024-07-31 16:50:18 120

原创 Day29-贪心算法

LeetCode134. 加油站LeetCode134. 加油站思路:主要是在遍历的时候计算局部剩余油量总和,如果小于0则说明无法走到需要更新起始点。LeetCode135. 分发糖果思路:主要是利用两次遍历,第一次遍历的时候需要给数组里的每个位置都填上值。第二次反向遍历的时候在根据(该位置的最大值,和后一位+1来判断)

2024-07-31 16:42:30 166

原创 DAY27-贪心算法

LeetCode376. 摆动序列。LeetCode53. 最大子序和。LeetCode455.分发饼干。

2024-07-29 14:04:02 134

原创 Day25-回溯

LeetCode491.递增子序列。LeetCode491.递增子序列。LeetCode47.全排列 II。LeetCode46.全排列。Leetcode51.N皇后。

2024-07-28 11:28:10 102

原创 Springboot-websocket实现及底层原理

Spring Boot 中的 WebSocket 依赖于 Spring模块,使用了 Reactor Netty 库来实现底层的 WebSocket 通信。

2024-07-27 19:10:59 1259

原创 DAY24-回溯

leetcode93.复原IP地址。leetcode90.子集II。leetcode78.子集。

2024-07-27 10:53:35 81

原创 DAY23-回溯

LeetCode40.组合总和II。LeetCode131.分割回文串。LeetCode39. 组合总和。

2024-07-26 12:46:03 134

原创 DAY22-回溯

【代码】DAY22-回溯。

2024-07-25 12:15:08 110

原创 JUC并发编程-ReentrantLock(可重入锁)

reentrantLock默认时不公平的,但公平锁一般没有必要,会降低并发度。

2024-07-24 16:21:05 217

原创 JUC并行开发03-共享模式与异步模式

如果需要在多个类之间使用GuardedObject对象,作为参数传递不是很方便,因此设计一个用来解耦的中间类,这样不仅能够解耦【结果等待者】和【结果生产者】,还能够同时支持多个任务的管理。每个Java对象都可以关联一个Monitor对象,如果使用synchronized给对象上锁(重量级)之后,该对象头的MarkWord中就被设置指向Monitor对象的指针。图中Futures就好比居民楼一层的信箱(每个信箱有房间编号),左侧的t0,t2,t4就好比等待邮件的居民,右侧的t1,t3,t5就好比邮递员。

2024-07-24 14:07:30 632

原创 DAY21-二叉树

【代码】DAY20-二叉树。

2024-07-24 11:16:47 195

原创 DAY20-二叉树

【代码】DAY20-二叉树。

2024-07-23 12:37:22 173

原创 DAY18-二叉树

【代码】DAY17-二叉树。

2024-07-22 12:25:33 125

原创 JUC并发编程02-常见方法

默认情况下,Java进程需要等待所有线程都运行结束,才会结束。有一种特殊的线程叫做守护线程,只要其他非守护线程运行结束了,即使守护线程的代码没有执行完,也会强制结束。

2024-07-21 14:55:40 480

原创 DAY17-二叉树

【代码】DAY17-二叉树。

2024-07-21 09:48:20 285

原创 JUC并发编程01-基础概念

当上下文切换发生时,需要由操作学习通保持当前线程的状态,并恢复另一个线程的状态,Java中对应的概念就是程序计数器,它的作用时记住下一条jvm指令的执行地址,是线程私有的。top命令 查看进程信息(每隔一段时间重新采集) top -H -p 4262 查看java进程中的线程信息。(微观串行,宏观并行)中,线程作为最小调度单位,进程作为资源分配的最小单位,可以说进程是线程的一个容器。由于一些原因导致cpu不再执行当前的线程,转而执行另一个线程的代码。一个进程内可以有多个线程,一个线程就是一个指令流。

2024-07-20 19:38:12 992

原创 DAY16-二叉树

【代码】DAY16-二叉树。

2024-07-20 12:01:02 175

原创 DAY15-二叉树

【代码】DAY15-二叉树。

2024-07-19 12:34:56 197

原创 DAY14-二叉树

【代码】DAY14-二叉树。

2024-07-18 20:41:17 155

原创 DAY13—二叉树

【代码】DAY13—二叉树。

2024-07-18 11:52:59 130

原创 DAY12-数组

LeetCodeHot 100 数组专题。

2024-07-14 15:55:46 127

原创 JAVA线程基础-线程池

避免使用Executors创建线程池,主要是避免使用其中的默认实现。它只会用唯一的工作线程来执行任 务,保证所有任务按 照指定顺序(FIFO)执行。比较常见的有4个,用的最多是。

2024-07-13 16:45:18 811

原创 DAY11-栈和队列

LeetCode150. 逆波兰表达式求值。LeetCode347.前 K 个高频元素。LeetCode239. 滑动窗口最大值。LeetCode239. 滑动窗口最大值。

2024-07-13 13:41:38 153

原创 Java基础-多线程并发

AQS全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架, 它是构建锁或者其他同步组件的基础框架。AQS与Synchronized的区别AQS常见的实现类ReentrantLock 阻塞式锁Semaphore 信号量CountDownLatch 倒计时锁工作机制线程0来了以后,去尝试修改state属性,如果发现state属性是0,就修改state状态为1,表示线程0抢锁成功。

2024-07-12 23:39:22 1230

原创 DAY10-栈与队列

LeetCode1047. 删除字符串中的所有相邻重复项。LeetCode225. 用队列实现栈。LeetCode232.用栈实现队列。LeetCode225. 用队列实现栈。LeetCode20. 有效的括号。

2024-07-12 14:09:39 222

原创 DAY9-字符串

55.右旋转字符串LeetCode151.翻转字符串里的单词法一:利用stack实现。

2024-07-11 15:06:19 174

原创 DAY8-字符串

LeetCode344.反转字符串LeetCode344.反转字符串LeetCode541.反转字符串II。

2024-07-10 16:40:31 197

原创 DAY7-哈希表

LeetCode383. 赎金信LeetCode454.四数相加IILeetCode383. 赎金信LeetCode15. 三数之和方法一(暴力法):但当数据量非常大的时候会超时。方法二(双指针法):固定i,再遍历j,k(),当遇到重复数字可跳过(

2024-07-09 15:22:47 210

SHU数字逻辑实验报告

SHU数字逻辑实验报告

2023-07-22

SHU计算机组成原理实验报告

SHU计算机组成原理实验报告

2023-07-22

空空如也

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

TA关注的人

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