leetcode
沉默de淡季
这个作者很懒,什么都没留下…
展开
-
Python leetcode #1 Two Sum
leetcode #1 Two Sum首先要记住不能用双层for循环暴力破解,这样时间复杂度为O(n2)太高了受不鸟。所以先用一次循环把所有的数存到字典中,key为列表中的数,value为索引。然后在判断字典中的值有没有,用target-num计算出结果的索引。要记住记得判断nums = [3, 3], target = 6这种特殊情况。这样子的时间复杂度只有O(n)就快很多了。class Solu原创 2017-04-30 20:48:40 · 206 阅读 · 0 评论 -
Python leetcode #2 Add Two Numbers
leetcode #2 Add Two Numbers题我就不读了,来讲下思路。 1. 注意每个节点有两个属性,一个本身的值,另一个指向下一个节点。 2. 然后建立一个虚拟的头节点,它的值为0,这个节点最后不存在,只是暂时拿来利用。 3. 把头结点赋给当前节点cur,把l1, l2赋给类内变量,设立进位carry的值为0. 4. 建立循环测试l1, l2是否有值,如果没值的话说明已经空原创 2017-05-01 20:14:41 · 230 阅读 · 0 评论 -
Python leetcode #3 Longest Substring Without Repeating Characters
leetcode #2 Longest Substring Without Repeating Characters筒子们要注意啊,输入”pwwkew”,最大不重复字符串是”wke”,而”pwke” 是最大子序列。 下面开始分析 1. 把初始长度和最大长度都设为1 2. 新建一个遍历过的字符字典 3. 如果s[i]在字典中且开始的位置小于等于当前遍历的位置 4. 开始位置等于当前位置加一原创 2017-05-04 19:43:03 · 208 阅读 · 0 评论