- 博客(752)
- 资源 (11)
- 收藏
- 关注
原创 JUC(Java并发编程)
Java 并发工具以并发、并行为主线进程线程二者对比单核 cpu 下,线程实际还是 串行执行 的。操作系统中有一个组件叫做任务调度器,将cpu 的时间片(windows 下时间片最小约 15毫秒)分给不同的线程使用,只是由于 cpu 在线程间(时间片很短)的切换非常快,人类感觉是 同时运行的。总结为一句话就是:微观串行,宏观并行,一般会将这种 线程轮流使用 CPU的做法称 并发,concurrent多核cpu下,每个核(core)都可以调度运行线程,这时候线程可以是并行的。引用Rob Pike 的一段描述
2025-03-27 11:39:03
415
原创 JVM(JAVA虚拟机)笔记
JVM:Java 程序的运行环境(Java二进制字节码的运行环境)一次编写,到处运行自动内存管理,垃圾回收功能数组下标越界检查多态比较:JDK(JRE + 编译工具(javac、jconsle、jmap、jps等)) > JRE(JVM + 基础类库(lang包下的String类等)) > JVM(运行字节码文件)问问自己,什么时候需要自定义类加载器1) 想加载非 classpath 随意路径中的类文件2) 都是通过接口来使用实现,希望解耦时,常用在框架设计。
2025-02-19 17:21:17
985
原创 LeetCode287. 寻找重复数(2024冬季每日一题 42)
给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。
2024-12-28 11:37:38
800
原创 LeetCode31. 下一个排列(2024冬季每日一题 41)
整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 - 例如,`arr = [1,2,3]` ,以下这些都可以视作 arr 的排列:`[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]` 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 下一个排列 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。 - 例如
2024-12-28 11:36:20
1028
原创 LeetCode75. 颜色分类(2024冬季每日一题 40)
给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下解决这个问题。
2024-12-28 10:49:12
1024
原创 LeetCode169. 多数元素(2024冬季每日一题 39)
给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 `⌊ n/2 ⌋` 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。
2024-12-22 15:08:17
704
原创 LeetCode136. 只出现一次的数字(2024冬季每日一题 38)
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
2024-12-21 16:27:44
1200
原创 LeetCode72. 编辑距离(2024冬季每日一题 37)
给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: - 插入一个字符 - 删除一个字符 - 替换一个字符
2024-12-20 21:14:16
1191
原创 LeetCode1143. 最长公共子序列(2024冬季每日一题 36)
给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,`"ace"` 是 `"abcde"` 的子序列,但 `"aec"` 不是 `"abcde"` 的子序列。 两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。
2024-12-19 23:09:08
630
原创 LeetCode64. 最小路径和(2024冬季每日一题 34)
给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。
2024-12-16 21:25:08
661
原创 LeetCode62. 不同路径(2024冬季每日一题 33)
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径?
2024-12-15 11:47:34
397
原创 LeetCode32. 最长有效括号(2024冬季每日一题 32)
给你一个只包含 `'('` 和 `')'` 的字符串,找出最长有效(格式正确且连续)括号子串的长度。
2024-12-14 17:55:53
458
原创 LeetCode416. 分割等和子集(2024冬季每日一题 31)
给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。
2024-12-13 21:47:27
822
原创 LeetCode300. 最长递增子序列(2024冬季每日一题 30)
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的 子序列。
2024-12-10 21:46:14
976
原创 LeetCode139. 单词拆分(2024冬季每日一题 29)
给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。
2024-12-09 21:12:20
1298
原创 LeetCode322. 零钱兑换(2024冬季每日一题 28)
给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 `-1` 。 你可以认为每种硬币的数量是无限的。
2024-12-08 16:38:04
1004
原创 LeetCode279. 完全平方数(2024冬季每日一题 27)
给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。a
2024-12-07 13:25:30
356
原创 LeetCode198. 打家劫舍(2024冬季每日一题 26)
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。
2024-12-06 18:25:05
635
原创 LeetCode118. 杨辉三角(2024冬季每日一题 25)
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。
2024-12-05 21:11:11
414
原创 LeetCode70. 爬楼梯(2024冬季每日一题 24)
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
2024-12-04 21:18:06
396
原创 LeetCode763. 划分字母区间(2024冬季每日一题 23)
给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。
2024-12-03 21:16:13
417
原创 LeetCode45. 跳跃游戏 II(2024冬季每日一题 22)
给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: - 0
2024-12-02 21:22:25
812
原创 LeetCode55. 跳跃游戏(2024冬季每日一题 21)
给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。
2024-12-01 12:43:19
586
原创 LeetCode121. 买卖股票的最佳时机(2024冬季每日一题 20)
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 `0` 。
2024-11-30 15:50:18
785
原创 LeetCode295. 数据流的中位数(2024冬季每日一题 19)
中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。 例如 arr = [2,3,4] 的中位数是 3 。 例如 arr = [2,3] 的中位数是 (2 + 3) / 2 = 2.5 。 实现 MedianFinder 类: MedianFinder() 初始化 MedianFinder 对象。 void addNum(int num) 将数据流中的整数 num 添加到数据结构中。 double findMedian() 返回到目前为止所有元素的中位数。与实际答
2024-11-30 11:35:46
1150
原创 LeetCode347. 前 K 个高频元素(2024冬季每日一题 18)
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。
2024-11-28 20:50:39
934
原创 LeetCode215. 数组中的第K个最大元素(2024冬季每日一题 17)
给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。
2024-11-27 21:06:04
988
原创 LeetCode84. 柱状图中最大的矩形(2024冬季每日一题 16)
给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。
2024-11-26 21:14:37
797
原创 LeetCode739. 每日温度(2024冬季每日一题 15)
给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。
2024-11-25 21:03:32
604
原创 LeetCode394. 字符串解码(2024冬季每日一题 14)
给定一个经过编码的字符串,返回它解码后的字符串。 编码规则为: `k[encoded_string]`,表示其中方括号内部的 `encoded_string` 正好重复 k 次。注意 k 保证为正整数。 你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。 此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 `3a` 或 `2[4]` 的输入。
2024-11-24 18:18:29
370
原创 LeetCode51. N 皇后(2024冬季每日一题 13)
按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后和空位。
2024-11-23 16:43:09
637
原创 LeetCode155. 最小栈(2024冬季每日一题 12)
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: - MinStack() 初始化堆栈对象。 - void push(int val) 将元素val推入堆栈。 - void pop() 删除堆栈顶部的元素。 - int top() 获取堆栈顶部的元素。 - int getMin() 获取堆栈中的最小元素。
2024-11-23 14:39:37
1095
原创 LeetCode20. 有效的括号(2024冬季每日一题 11)
给定一个只包括 `'(',')','{','}','[',']'` 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。
2024-11-21 21:36:36
447
原创 LeetCode4. 寻找两个正序数组的中位数(2024冬季每日一题 10)
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (m+n)) 。
2024-11-20 21:34:00
944
原创 LeetCode153. 寻找旋转排序数组中的最小值(2024冬季每日一题 9)
已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 7 次,则可以得到 [0,1,2,4,5,6,7] 注意,数组 $[a[0], a[1], a[2], ..., a[n-1]]$ 旋转一次 的结果为数组 $[a[n-1], a[0], a[1], a[2], ..., a[n-2]]$ 。 给你一个元素值 互不相同 的
2024-11-20 21:11:34
908
原创 LeetCode33. 搜索旋转排序数组(2024冬季每日一题 8)
整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0
2024-11-17 11:21:43
1263
原创 LeetCode34. 在排序数组中查找元素的第一个和最后一个位置(2024冬季每日一题 7)
给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。
2024-11-16 15:45:11
892
原创 LeetCode74. 搜索二维矩阵(2024冬季每日一题 6)
给你一个满足下述两条属性的 m x n 整数矩阵: - 每行中的整数从左到右按非严格递增顺序排列。 - 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。
2024-11-15 22:13:14
1303
原创 LeetCode35. 搜索插入位置(2024冬季每日一题 5)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。
2024-11-14 22:17:39
833
向日葵sun.tar
2021-01-24
upload-labs-master.zip
2021-01-24
phpstudy_v8.1.0.1.zip
2021-01-24
xshell6lspjb.rar
2021-01-24
8_u_ftp.tar
2021-01-24
32位vc9和11、14运行库.rar
2021-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人