LeetCode刷题
是乔乔啊
我不留点什么总说我很懒
展开
-
4.寻找两个有序数组的中位数
题目描述 示例 分析 此题可以采用二分查找法。 假设数组1的长度为m,数组2的长度为n。 当m+n为偶数的时候,sizeleft=m+n2=m+n+12size_{left}=\frac {m+n}{2}=\frac {m+n+1}{2}sizeleft=2m+n=2m+n+1; 当m+n为奇数的时候,由于我们假设中位数分到左边,所以sizeleft=m+n+12size_{left}=\frac {m+n+1}{2}sizeleft=2m+n+1; 因此可以把以上两种写法合并,sizeleft=原创 2020-06-18 22:48:09 · 83 阅读 · 0 评论 -
3.无重复字符的最长字串
题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 分析: 本题适合采用动态规划,构建一个滑动窗口的队列,当右边滑入与前面相同的重复元素时,我们右移这个窗口,即将队列左边的元素移出即可.一直保持这种队列,知道找到窗口的最大长度. 题解: class Solution: def lengthOfLongestSubstring(self, s: str)原创 2020-06-17 21:29:27 · 63 阅读 · 0 评论 -
2.两数相加
题目描述: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 题解: # Definition for singly原创 2020-06-17 20:33:53 · 84 阅读 · 0 评论 -
1.两数之和
题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解析: 此题用字典方式求解,查找速度相对于列表来说更快; 将列表中找过的元素及其索引都存放在一个字典中,这样可以避免数组中元原创 2020-06-17 18:33:25 · 106 阅读 · 0 评论