
leetcode
又笨又懒的猪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode84柱状图中最大的矩形
题目 思路:暴力法O(n^2)超时,原创 2020-05-30 15:48:43 · 151 阅读 · 0 评论 -
leetcode560和为K的子数组、974和可被K整除的子数组
1、560和为K的子数组 解题思路:由于数组长度很大,暴力O(n^2)的解法必定要超时,同时要找的是连续子数组,排序O(nlogn)肯定也不可以,此时应该想到利用hash表。 如何优化呢? 首先,定义pre[i]为[0..i]里所有数的和,则有:pre[i]=pre[i−1]+nums[i] 同理,[j..i]这个子数组和为k这个条件可以转化为 pre[i]−pre[j−1]=k 所以,可以得到:pre[i]-k=pre[j−1] 所以求以i结尾的和为k的连续子数组个数可以转化为求有多少个前缀和为pre[原创 2020-05-27 10:40:11 · 188 阅读 · 0 评论 -
leetcode142环形链表Ⅱ
题目 思路1 利用hash表,每当走到一个节点,判断该节点是否已经存在hash表中,如果存在,则该节点就是要求的节点,否则将其加入hash表,直到走到尾节点。 python中的set的底层实现就是hash表(与list的顺序存储不同,set效率要高于list,尤其是大数据查找下),所以可以直接利用set来进行操作。 class Solution: def detectCycle(self, head: ListNode) -> ListNode: s = set([])原创 2020-05-26 11:02:01 · 239 阅读 · 0 评论