leetcode刷题
文章平均质量分 56
leetcode的题都会放在这里面
辞节喏
没有个人简介
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode每日刷题
初始化一个三维数组 `f`,用于存储从状态 `s` 到任意两个节点 `i` 和 `j` 的最小距离。初始化一个 `n` x `n` 的图的邻接矩阵 `g`,所有元素设为无穷大(`inf`),表示在没有道路连接的情况下,节点间的距离是无穷的。对于当前状态 `s`,更新节点 `i` 到 `j` 的最小距离,取状态 `t` 下的直接距离或通过节点 `k` 的间接距离的较小者。- `s >> i & 1` 和 `s >> j & 1`:检查节点 `i` 和 `j` 在状态 `s` 中是否都被选中。原创 2024-07-17 21:14:15 · 1797 阅读 · 0 评论 -
leetcode双周赛134 周赛405比赛写的
这道题就很无语,本来以为n就是1-10,然后就一个一个写if和elif,然后竟然告诉我n是18,无奈只好继续写了。直接一个一个加,到那个字符的时候就加上,然后后面的也继续加。思路就是在前后+1还有就是在前面和后面加一个不一样的数。比赛时因为只需要找3个,所以就直接找就行。贪心,不断加最大的,除以最小的。一个二维前缀和,直接得吃了。原创 2024-07-08 16:35:35 · 376 阅读 · 0 评论 -
leetcode每日一题
今天的每日一题挺有趣的,学到了一个方法,就是枚举子数组的右端点,如果右端点与前一个数一样,那这里就只有一个子数组就是1,如果不一样,那就有前一个数+1个子数组,然后再把所有的加起来,就是答案了。今天由于有两场比赛,然后今天又是周六,有点懒,今天就a了这一道。时间复杂度:O(n)空间复杂度:O(1)原创 2024-07-06 22:22:37 · 378 阅读 · 0 评论 -
今日补题 + 刷题(为了leetcode的时间复杂度分析怒冲365)(leetcode篇)
先把两个边界加到数组里面,但是我们要注意,边界也是可以取的所以lower-1,upper+1,然后再把重复的数删除一下,然后再进行排序,然后从第1个索引开始遍历,把遍历的结果加到ans里面,返回ans。该题需要知道最后的结果只有两种可能,要么是+要么是+-,所以我们就找这两个的最大值,每次向后都要找到这个位置的最大值。leetcode3115(每日一题)leetcode163(会员题)时间复杂度:O(nlogn)时间复杂度:O(N)空间复杂度:O(N)空间复杂度:O(n)原创 2024-07-02 18:50:32 · 1225 阅读 · 0 评论 -
学习最大子数组和(leetcode53)
把需要列表的部分修改一下,使用三个变量代替,也就是下面的pre,min_pre,ans,前缀和,最小前缀和,和最后的答案。时间复杂度:O(n)空间复杂度:O(n)时间复杂度:O(n)空间复杂度:O(1)原创 2024-07-02 22:40:16 · 216 阅读 · 0 评论 -
leetcode每日一题 + 巩固 + 微软题库
这道题要分情况讨论,因为max_c有可能很大,也有可能很小,因为如果是用两个位置互相转换的方法,肯定会需要操作次数更多,因为只有在当前位置次数才能是0,其他的就是这个位置周围距离为1的需要操作一次,而我们有max_c次机会来把周围的0变成1,这个需要操作两次,这个很显然比从远处把1拿过来更快,那么这种情况下经过计算,需要的答案就是max(c - 1,0) + (k - c) * 2这里面的c就是我们计算的连续的1的数量,这个c的取值只能是0,1,2,3。空间复杂度:O(n)空间复杂度:O(n)原创 2024-07-04 22:00:59 · 432 阅读 · 0 评论 -
leetcode每日一题 + 今日刷题
这道题非常简单,只需要看一下这个数的各位之和是否可以整除这个数就可以了,但是,就是这么简单的一道题,让我学到了一个小小的知识点,也就是后面的优化版。ans:答案数组:pre[i - 1] * suf[i + 1]的结果加上两个边界就是最终答案。这道题也是用到了前缀乘法和后缀乘法(自己取的名字 嘿嘿)这道题我的做法是使用python的字典用来统计。当我看见别人的代码的时候,我只能说我。pre:前面那些数的乘数的数组。suf:后面那些数的乘数的数组。时间复杂度:O(n)空间复杂度:O(1)空间复杂度:O(1)原创 2024-07-03 14:30:12 · 595 阅读 · 0 评论
分享