算法篇
Miraitowa9797
这个作者很懒,什么都没留下…
展开
-
算法篇:有效的数独
可以使用哈希表记录每一行、每一列和每一个小九宫格中,每个数字出现的次数。只需要遍历数独一次,在遍历的过程中更新哈希表中的计数,并判断是否满足有效的数独的条件即可。同一个数字在每一个小九宫格只能出现一次。,验证已经填入的数字是否有效即可。同一个数字在每一行只能出现一次;同一个数字在每一列只能出现一次;原创 2024-09-26 18:30:03 · 174 阅读 · 0 评论 -
算法篇:缺失的第一个正数
对于一个长度为 N 的数组,其中没有出现的最小正整数只能在 [1,N+1] 中。这是因为如果 [1,N] 都出现了,那么答案是 N+1,否则答案是 [1,N] 中没有出现的最小正整数。可以将数组所有的数放入哈希表,随后从 1 开始依次枚举正整数,并判断其是否在哈希表中。,请你找出其中没有出现的最小的正整数。并且只使用常数级别额外空间的解决方案。给你一个未排序的整数数组。请你实现时间复杂度为。原创 2024-09-26 18:21:39 · 94 阅读 · 0 评论 -
算法篇:搜索旋转排序数组
如果 [l, mid - 1] 是有序数组,且 target 的大小满足 [nums[l],nums[mid]),则我们应该将搜索范围缩小至 [l, mid - 1],否则在 [mid + 1, r] 中寻找。如果 [mid, r] 是有序数组,且 target 的大小满足 (nums[mid+1],nums[r]],则我们应该将搜索范围缩小至 [mid + 1, r],否则在 [l, mid - 1] 中寻找。但是这道题中,数组本身不是有序的,进行旋转后只保证了数组的局部是有序的,这还能进行二分查找吗?原创 2024-09-26 18:13:13 · 139 阅读 · 0 评论 -
算法篇:k个一组反转链表
是一个正整数,它的值小于或等于链表的长度。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。的整数倍,那么请将最后剩余的节点保持原有顺序。个节点一组进行翻转,请你返回修改后的链表。原创 2024-09-26 18:00:11 · 101 阅读 · 0 评论 -
算法篇:正则表达式匹配
题目中的匹配是一个「逐步匹配」的过程:我们每次从字符串 p 中取出一个字符或者「字符 + 星号」的组合,并在 s 中进行匹配。对于 p 中一个字符而言,它只能在 s 中匹配一个字符,匹配的方法具有唯一性;而对于 p 中字符 + 星号的组合而言,它可以在 s 中匹配任意自然数个字符,并不具有唯一性。因此我们可以考虑使用动态规划,对匹配的方案进行枚举。的,而不是部分字符串。,请你来实现一个支持。原创 2024-09-26 17:04:48 · 220 阅读 · 0 评论 -
算法篇:数组分割
要求分割两个子集,其中一个可以为空集,且两个集合为偶数,所有第一步判断集合的总和是否为偶数,如果不为偶数则直接判定为 0 个否则再进行深度收搜判断 (暴力超时)也可以利用奇数个数与偶数个数的排列组合实现, 将两个奇数拼接为一个偶数,判断无重复的奇数拼接情况,与偶数个数相加,递推排列组合公式 (正解)原创 2024-09-12 20:22:41 · 168 阅读 · 0 评论 -
算法篇:幸运数字
例如 126 是十进制下的一个哈沙德数,因为 (126) 10 mod (1+2+6) = 0;126 也是八进制下的哈沙德数,因为 (126) 10 = (176) 8 , (126) 10 mod (1 + 7 + 6) = 0;小蓝认为,如果一个整数在二进制、八进制、十进制、十六进制下均为 哈沙德数,那么这个数字就是幸运数字,第 1 至第 10 个幸运数字的十进制表示 为:1 , 2 , 4 , 6 , 8 , 40 , 48 , 72 , 120 , 126 . . .。原创 2024-09-12 20:07:29 · 182 阅读 · 0 评论