![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
文章平均质量分 54
_bcxbg_
这个作者很懒,什么都没留下…
展开
-
Leetcode 4. 寻找两个正序数组的中位数
题目链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/题目大意:给两个不定长正序数组,返回两个数组的中位数,要求O(log(m+n))【解一】(可跳过)这题如果不要求时间复杂度那就很简单很暴力了,直接合并成有序的就可以。{ps:考虑一下合并最快的效率是什么?因为本来就是有序的,用归并排序是最快的,甚至也不需要全排,扫到中位数的位置就行了,O(m+n)}当然这个复杂度是不符合要求的,但是离谱的事情是,随手交了下面这个代码准备验原创 2021-12-09 11:31:37 · 99 阅读 · 0 评论 -
Leetcode 2. 两数相加
【解一】这个题一看就是个按位加的操作嘛,链表是逆序的所以从头到尾加就相当于从个位开始往高位加了,记得处理进位就行。那麻烦点在哪里呢?人家是链表存的,所以需要准确抓到头和尾巴。l1和l2不一定是等长的,所以长度不够的要在高位补0,那么就相当于每当有一串列表空了,就给它尾巴上补一个(0,None)。终止条件是两串都到底了并且也没有需要进位的。【ps】这里加两个trick。首先我们两数相加构建了第三个链表,但其实l1和l2加过的节点都没什么用了,所以完全可以直接把结果存进l1里面,这样节省空间。另一个trick原创 2021-12-03 13:33:08 · 337 阅读 · 0 评论 -
Leetcode 3. 无重复字符的最长子串
【解一】经典的滑动窗口既视感,需要维护窗口内没有重复的字母,所以我们可以直接做一个集合存一下窗口内现有的字母。如果窗口右侧更新了,需要维护左侧保证把重复的字母挪出窗口。在这个过程中记一下最长的长度。class Solution: def lengthOfLongestSubstring(self, s: str) -> int: if len(s)==0: return 0 window = set(s[0]) left = 0原创 2021-12-03 15:57:00 · 210 阅读 · 0 评论 -
Leetcode 1.两数之和
Leetcode 1.两数之和【解一】就。。第一眼就很直接很暴力,两层循环遍历两个数配一下,和等于target就return坐标。然后注意一下题目说不能用同一元素,再加上我内外两层找到的元素ab,再遍历到ba的时候其实已经判断过了,这没必要,所以直接规定内层循环的元素要在外层循环的后面就好了(一个右上三角形)。class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i原创 2021-12-01 21:39:00 · 1089 阅读 · 0 评论