leecode-03-lengthOfLongestSubstring
03-lengthOfLongestSubstring-无重复字符的最长子串问题:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
123输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:
123输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:
1234输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
方法:哈希Map 只需一次遍历
12345678910def lengthOfLongestSubstring(self, s): d = {} start = 0 ans = 0 for i,c in enumerate(s): if c in d: start = max(start, d[c] + 1) # 记录c第一次出现的索引位置 d[c] = i # 记录c最 ...
leecode-02-two-sum
02-twosum-两数之和给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例:
123输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807
1234567891011121314151617class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: def addTwoNumbers(self, l1, l2): prenode = ListNode(0) lastnode = prenode val = 0 while val or l1 or l2: ...
数据结构与算法-栈(stack)定义与实例
栈(stack)定义与实例栈(stack)定义:距离栈底越近的数据项, 留在栈中的时间就越长而最新加入栈的数据项会被最先移除,这种次序通常称为“后进先出LIFO”:Last in First out这是一种基于数据项保存时间的次序,时间越短的离栈顶越近,而时间越长的离栈底越近.
抽象数据类型Stack:操作样例
Stack Operation
Stack Contents
Return Value
s= Stack()
[]
Stack object
s.isEmpty()
[]
True
s.push(4)
[4]
s.push(‘dog’)
[4,’dog’]
s.peek()
[4,’dog’]
‘dog’
s.push(True)
[4,’dog’,True]
s.size()
[4,’dog’,True]
3
s.isEmpty()
[4,’dog’,True]
False
s.push(8.4)
[4,’dog’,True,8.4]
s.pop()
[4,’dog’,True]
8.4
s.pop()
[ ...
Youdao-Oral-English-12
打卡第十二天drop the ball
12why does he , s-e连读,h-弱的but after , t浊化为d,
document.querySelectorAll('.github-emoji')
.forEach(el => {
if (!el.dataset.src) { return; }
const img = document.createElement('img');
img.style = 'display:none !important;';
img.src = el.dataset.src;
img.addEventListener('error', () => {
img.remove();
el.style.color = 'inherit';
el.style.backgroundImage = ' ...
Youdao-Oral-English-11
打卡第十一天hit the road
document.querySelectorAll('.github-emoji')
.forEach(el => {
if (!el.dataset.src) { return; }
const img = document.createElement('img');
img.style = 'display:none !important;';
img.src = el.dataset.src;
img.addEventListener('error', () => {
img.remove();
el.style.color = 'inherit';
el.style.backgroundImage = 'none';
el.style.background = 'n ...
leecode-01-twosum(两数之和)
01-twosum-两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
示例:
1234给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]
解法:通过循环建立d={}以nums的索引当做value, nums值当做key,避免了,遍历整个列表,但是好像会出现漏解情况。
12345678class Solution(): def twoSum(self, nums, target): d = {} for i, num in enumerate(nums): if target - num in d: return [d[target - num], i] d[num] = i
提交时间
提交结果
执 ...
Youdao-Oral-English-10
打卡第十天once in a blue moon
123upstate ,p 弱读be okey , e-o 中间加个 j 的发音
</figure >
document.querySelectorAll('.github-emoji')
.forEach(el => {
if (!el.dataset.src) { return; }
const img = document.createElement('img');
img.style = 'display:none !important;';
img.src = el.dataset.src;
img.addEventListener('error', () => {
img.remove();
el.style.color = 'inherit';
el.styl ...
Youdao-Oral-English-9
打卡第九天out of the blue
document.querySelectorAll('.github-emoji')
.forEach(el => {
if (!el.dataset.src) { return; }
const img = document.createElement('img');
img.style = 'display:none !important;';
img.src = el.dataset.src;
img.addEventListener('error', () => {
img.remove();
el.style.color = 'inherit';
el.style.backgroundImage = 'none';
el.style.background = ...