![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法 LeetCode
文章平均质量分 60
咸鱼粘在锅上
记一句话,做一件事,爱一个人
展开
-
LeetCode 2180. 统计各位数字之和为偶数的整数个数
LeetCode 2180. 统计各位数字之和为偶数的整数个数 字符串模拟、子问题求解原创 2023-01-06 17:19:39 · 271 阅读 · 0 评论 -
LeetCode90 子集 II 排序+子问题求解
LeetCode90 子集 II 排序+子问题求解以nums={1,2,2,3}为例,将问题划分为求nums={1}, nums={2,2}, nums={3}三个子问题,然后将子结果合并。这里子问题是求非空子集求子问题nums={1} 的非空子集 {{1}}nums={2,2}的非空子集 {{2},{2,2}}nums={3} 的非空子集 {{3}}合并子结果{{1}}与{{2},{2,2}}的组合:只使用 nums={1}的结果,即{{1}}只使用nums={2,原创 2021-03-31 11:01:58 · 112 阅读 · 0 评论 -
LeetCode338. 比特位计数 i=(i-1)&1 详解
LeetCode338. 比特位计数 i=(i-1)&1 详解题目描述:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。i= (i-1)&i i>1功能: 在i的二进制表示中,将右数第一个1置0。i=610=1102i=6_{10}=110_2i=610=1102, (i−1)(i-1)(i−1)&i=1002i=100_2i=1002实现原理:建议将i=6,用二进制表示,将原创 2021-03-03 08:38:43 · 441 阅读 · 0 评论 -
LeetCode304. 二维区域和检索
LeetCode304. 二维区域和检索昨天一维区域和检索就有题友猜测3月会是DP月,所言不差,盲猜明天还是中等题。题目描述:给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。思路:我们用dp[i][j]表示以(0,0)为左上角,(i,j)为右下角的子矩阵的元素和。dp[0][0]=3dp[1][1]=3+0+5+6=14我们通过四个子矩阵求解 sumRegion(r1,c1,r2,c2)绿色子矩阵的原创 2021-03-02 09:38:14 · 118 阅读 · 0 评论 -
LeetCode7. 正数反转 判断溢出的两种方式1ms 100%
LeetCode7. 正数反转 判断溢出的两种方式题目描述给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)提供两种判断溢出的方式 参考大佬思路对于特定操作,我们可以在执行操作前,判断操作数是否在合法的区间内。比如 int sub = sub+a;sub会不会溢出呢?我们提前判断sub<=Integer.MAX_VA原创 2021-02-28 16:25:22 · 345 阅读 · 5 评论 -
LeetCode896 .单调数列 1ms 100%
LeetCode896 .单调数列 1ms 100%不要问为什么这么快,问就是代码写得好。空间换来的题目描述如果数组是单调递增或单调递减的,那么它是单调的。如果对于所有 i <= j,A[i] <= A[j],那么数组 A 是单调递增的。 如果对于所有 i <= j,A[i]> = A[j],那么数组 A 是单调递减的。当给定的数组 A 是单调数组时返回 true,否则返回 false。思路:先根据前两个不相同的数判断是单调性。比如数组 1,1,3,8,5,根据前两原创 2021-02-28 14:47:54 · 110 阅读 · 1 评论 -
LeetCode 395. 至少有 K 个重复字符的最长子串 0ms
LeetCode 395. 至少有 K 个重复字符的最长子串 0ms不要问为什么这么快,问就是代码写得好。空间换的题目描述给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。分治思路这个思路强就强在不直接去找最长子串,而是通过不符合条件的字符进行分段求解。从问题的反面下手,解决问题记录每个字符出现的次数如果不存在出现次数低于k的字符,则返回这个字符串的长度。否则进入3将不合符的区间进行分治。原创 2021-02-27 17:13:24 · 2079 阅读 · 5 评论 -
LeetCode 1178 猜字谜 代码越短 越难搞 详解 sub = (sub-1)&k
LeetCode 1178 猜字谜 代码越短 越难搞 详解 sub = (sub-1)&k猜个字谜,整个元宵节都不在状态了,果然代码越短越难搞。一个简单的&操作,困在里面整整一天,一杯水,一包烟,一个与k算一天。不过还是走出来了!这里先行致歉,水平有限,折磨了一天也不能将子集的生成过程讲解出来,不是不懂,而是讲不出。这里抛砖引玉,希望来位大哥指路二进制数的子集是什么以101010_{10}1010为例,1010=1010210_{10}=1010_21010=10102, 二进制原创 2021-02-27 14:55:03 · 682 阅读 · 2 评论 -
LeetCode 4. 寻找两个正序数组的中位数
4. 寻找两个正序数组的中位数思路:我们只关注从nums1中取多了、取少了、或者刚刚好。 假设 nums1 中有 n 个元素,我们二分的取[1,n]个元素,取0个元素作为边界情况特殊处理变量名约定:变量名描述leftPartSize左部分个数: 中位数及其左边元素个数totalSize元素总个数num1从nums1中取 num1个元素num2从nums2中取 num2 个元素leftPartSize = totalSize / 2 +1(奇偶数都正原创 2021-02-23 14:10:08 · 140 阅读 · 1 评论