- 博客(449)
- 收藏
- 关注
原创 DeepSeek是怎么做到降低成本的?
MoE 即 Mixture of Experts(专家混合)架构。想象有一个大型的问题解决团队,这个团队里有很多不同领域的专家(比如数学专家、语言专家、历史专家等)。当遇到一个具体问题时,不需要让所有专家都参与进来,只需要挑选最擅长解决这个问题的几个专家来处理。在计算机中,数据通常以不同的精度格式进行存储和处理,比如常见的 FP32(32 位浮点数)和 FP16(16 位浮点数)。FP8 则是一种 8 位浮点数格式,它使用更少的比特位来表示一个数值。
2025-04-26 13:59:15
289
原创 Redis集群选举策略
当 Redis 集群中的主节点出现故障,无法正常响应心跳包时,从节点会感知到主节点的故障,进而触发选举流程,选举出新的主节点来替代故障的主节点。
2025-04-24 11:51:46
532
原创 力扣 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
原创 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
原创 力扣 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 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 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 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 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关注的人