自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(449)
  • 收藏
  • 关注

原创 DeepSeek是怎么做到降低成本的?

MoE 即 Mixture of Experts(专家混合)架构。想象有一个大型的问题解决团队,这个团队里有很多不同领域的专家(比如数学专家、语言专家、历史专家等)。当遇到一个具体问题时,不需要让所有专家都参与进来,只需要挑选最擅长解决这个问题的几个专家来处理。在计算机中,数据通常以不同的精度格式进行存储和处理,比如常见的 FP32(32 位浮点数)和 FP16(16 位浮点数)。FP8 则是一种 8 位浮点数格式,它使用更少的比特位来表示一个数值。

2025-04-26 13:59:15 289

原创 力扣 LeetCode 695. 岛屿的最大面积

【代码】力扣 LeetCode 695. 岛屿的最大面积。

2025-04-25 11:55:22 114

原创 同步与异步、阻塞与非阻塞的区别

同步与异步、阻塞与非阻塞确实常被对比讨论,它们分别从不同角度描述程序的执行特性。

2025-04-24 19:21:55 457

原创 Redis集群选举策略

当 Redis 集群中的主节点出现故障,无法正常响应心跳包时,从节点会感知到主节点的故障,进而触发选举流程,选举出新的主节点来替代故障的主节点。

2025-04-24 11:51:46 532

原创 六大设计原则

在软件开发、设计等领域,有六大面向对象的设计原则,它们有助于构建具有高内聚、低耦合、可维护性和可扩展性的软件系统。

2025-04-23 14:21:21 412

原创 负载均衡有哪些算法?

负载均衡是将请求或流量均匀地分配到多个服务器上,以提高系统的可用性、性能和容错能力。

2025-04-23 14:08:20 756

原创 力扣 LeetCode 162. 寻找峰值

题目要求返回任意一个峰值即可。

2025-04-23 11:45:53 217

原创 力扣 LeetCode 221. 最大正方形

【代码】力扣 LeetCode 221. 最大正方形。

2025-04-23 11:25:34 267

原创 力扣 LeetCode 470. 用 Rand7() 实现 Rand10()

③那么(rand7()-1)* 7 可以等概率生成{0, 7, 14, 21, 28, 35, 42};我们就重新生成,即只要生成在1~40之间的数,这一我们就可以生成1~40的等概率分布。④那么(rand7()-1)* 7 + rand7()可以等概率生成1~49。现在我们实现了等概率生成1~49的功能,我们规定如果生成的数大于40,最后,(1~40)%10 + 1 ,就可以得到1~10了。再接着,我们用(1~40)%10,就可以得到0~9。①已知 rand7()可以等概率生成1~7;

2025-04-23 10:46:35 171

原创 力扣 LeetCode 69. x的平方根

【代码】力扣 LeetCode 69. x的平方根。

2025-04-20 11:04:29 135

原创 力扣 LeetCode 165. 比较版本号

注意需要对点号进行转义。

2025-04-20 10:57:49 208

原创 力扣 LeetCode 912. 排序数组

【代码】力扣 - 912. 排序数组。

2025-04-19 23:04:17 96

原创 MVCC能不能解决幻读问题

上面这样,事务b提交之后,事务a再次执行update,因为这个是当前读,他会读取最新的数据,包括别的事务已经提交的,所以就会导致此时前后读取的数据不一致,出现幻读。1.a事务先select,b事务insert确实会加一个gap锁,但是如果b事务commit,这个gap锁就会释放(释放后a事务可以随意操作)3.接着a事务不加条件地update,这个update会作用在所有行上(包括b事务新加的)4.a事务再次select就会出现b事务中的新行,并且这个新行已经被update修改了。结论:部分情况下不能。

2025-04-19 10:29:11 118

原创 多线程顺序执行并顺序输出ABC问题

【代码】多线程顺序执行并顺序输出ABC问题。

2025-04-19 10:27:18 623

原创 ACM模板总结

【代码】ACM模板。

2025-04-04 13:57:07 357

原创 力扣 LeetCode 84. 柱状图中最大的矩形(Day25:单调栈)

注意,需要在数组前后都补一个0,否则会出现无法计算的情况(单调递增和单调递减数组的情况,走不到计算那一步,或者走到该计算时,需要三个元素但只有两个元素)本质是求左边第一个比它矮的和右边第一个比它矮的,求出一个面积,然后在这些面积里取最大的。

2025-02-03 21:39:23 173

原创 力扣 LeetCode 42. 接雨水(Day25:单调栈)

栈顶元素的下一个元素(从栈顶往下第二个元素)为左边第一个更大的元素。使用sum累加得到的凹槽长x宽即可。单调栈找出右边第一个更大的元素。当前元素为右边第一个更大的元素。

2025-02-03 20:46:57 141

原创 力扣 LeetCode 503. 下一个更大元素II(Day25:单调栈)

那么我们可以双倍定义数组大小,并且取模,走后半部分时可以续接上,保证在环内。单调栈找下一个更大的数,并且有环。

2025-02-03 20:12:29 208

原创 力扣 LeetCode 496. 下一个更大元素I(Day25:单调栈)

换壳的单调栈,只需要增加一个map映射下标关系,其余思路大体一致。

2025-02-03 19:49:10 220

原创 力扣 LeetCode 739. 每日温度(Day25:单调栈)

这里是求右边第一个比它大的元素的下标之间的差值。单调栈的作用是存放之前遍历过的元素。

2025-02-03 19:13:46 288

原创 力扣 LeetCode 516. 最长回文子序列(Day24:动态规划)

【代码】力扣 LeetCode 516. 最长回文子序列(Day24:动态规划)

2025-02-02 17:43:33 236

原创 力扣 LeetCode 647. 回文子串(Day24:动态规划)

注意,Arrays.fill(dp[i], false)用于一维数组,所以需要添加一个循环帮助赋值。判断是否为回文串的方法:在两侧相同时看内层是否为true。dp数组的含义为区间[ i , j ]的回文子串的个数。

2025-02-02 17:32:46 225

原创 力扣 LeetCode 72. 编辑距离(Day24:动态规划)

增删替三种操作,增和删类似,操作word1和word2取其中一个即可。

2025-02-02 17:10:37 214

原创 力扣 LeetCode 583. 两个字符串的删除操作(Day24:动态规划)

注意根据dp的含义进行初始化,这里是最少删几个。

2025-02-02 16:54:53 236

原创 力扣 LeetCode 115. 不同的子序列(Day24:动态规划)

用s[ i-1 ]可以,不用也可以。

2025-02-02 12:46:58 183

原创 力扣 LeetCode 392. 判断子序列(Day24:动态规划)

不相等时忽略(删除) j 的元素,往前退一格。

2025-02-02 12:28:06 244

原创 力扣 LeetCode 53. 最大子数组和(Day24:动态规划)

dp[ i ] 为以nums[ i ]结尾最大连续和。

2025-02-02 11:55:36 121

原创 力扣 LeetCode 1035. 不相交的线(Day23:动态规划)

本质上是求最长公共子序列。

2025-01-26 16:31:51 198

原创 力扣 LeetCode 1143. 最长公共子序列(Day23:动态规划)

dp[ i ] [ j ]表示 i - 1 和 j - 1 结尾的最长公共子序列的长度。

2025-01-26 16:26:22 171

原创 力扣 LeetCode 718. 最长重复子数组(Day23:动态规划)

dp[ i ] [ j ]表示nums1[ i - 1 ]和nums2[ j - 1 ]结尾的最长重复序列的长度。注意是i - 1和j - 1,简化初始化。

2025-01-26 16:05:27 217

原创 力扣 LeetCode 674. 最长连续递增序列(Day23:动态规划)

dp[ i ]表示以nums[ i ]结尾的最长连续递增序列的长度,但最长的子序列长度不一定是以nums[ i ]结尾的,所以要用一个max记录最大值。注意是连续,所以会比较和前一个元素的大小,i 和 i - 1进行比较。

2025-01-26 12:10:37 292

原创 力扣 LeetCode 300. 最长递增子序列(Day23:动态规划)

dp[ i ]表示以nums[ i ]结尾的最长递增子序列的长度,但最长的子序列长度不一定是以nums[ i ]结尾的,所以要用一个max记录最大值。

2025-01-26 12:00:56 136

原创 力扣 LeetCode 714. 买卖股票的最佳时机含手续费(Day22:动态规划)

多减去一个手续费即可。

2025-01-25 14:00:40 155

原创 力扣 LeetCode 309. 买卖股票的最佳时机含冷冻期(Day22:动态规划)

对持有股票的状态进行拆分,拆分成持有和当天买入后持有,以区别冷冻期。1:不持有当天不卖出。注意:1和2是拆分的。

2025-01-25 13:54:11 173

原创 力扣 LeetCode 188. 买卖股票的最佳时机IV(Day22:动态规划)

与买卖股票III类似,这里为k,需要进行递推,初始化也有合理赋值。

2025-01-25 12:55:34 183

原创 力扣 LeetCode 123. 买卖股票的最佳时机III(Day22:动态规划)

【代码】力扣 LeetCode 123. 买卖股票的最佳时机III(Day22:动态规划)

2025-01-25 11:45:52 211

原创 力扣 LeetCode 122. 买卖股票的最佳时机II(Day22:动态规划)

区别在于可以多次买卖股票。

2025-01-25 11:18:33 167

原创 力扣 LeetCode 121. 买卖股票的最佳时机(Day22:动态规划)

二维数组0表示持有,1表示不持有(dp表示到第 i 天持有或不持有的最大金额)不持有可能是前一个状态就不持有,或者当前状态才卖出。持有可能是前一个状态就持有,或者当前状态才持有。

2025-01-25 11:04:34 151

原创 力扣 LeetCode 337. 打家劫舍III(Day21:动态规划)

res[0]不偷当前节点,那么左右子节点可以偷,取能偷和不能偷的最大值。res[1]要偷当前节点,那么左右子节点不能偷。res[0]代表不偷,res[1]代表偷。

2025-01-24 15:29:02 190

原创 力扣 LeetCode 198. 打家劫舍II(Day21:动态规划)

转换为两种情况,考虑首元素不考虑尾元素,考虑尾元素,不考虑首元素,作为参数传递即可。与打家劫舍的区别在于打家劫舍是线性的,这里是环。其余部分与打家劫舍一致。

2025-01-24 14:56:24 281

空空如也

空空如也

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

TA关注的人

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