06 2019 档案
yield and send的使用详细解释
摘要:https://blog.csdn.net/mieleizhi0522/article/details/82142856 虽然并不完全正确,但是能在使用中帮我们拨开迷雾 再结合另外一篇文章理解了https://github.com/jackfrued/Python-100-Days/blob/mas
阅读全文
ELMO及前期工作 and Transformer及相关论文
摘要:论文1 https://arxiv.org/pdf/1705.00108.pdf Semi-supervised sequence tagging with bidirectional language models 理解序列标注中,如何使用动态embedding向量(bilstm) 1、上下文敏感
阅读全文
LSTM参数和结构的本质理解——num_units参数/batch_size/cell计算
摘要:参考 ———— 图例讲解 https://blog.csdn.net/u014518506/article/details/80445283 理解:cell其实只有一个 ; sequence length其实就是这个cell更新多少次;LSTM的参数总数其实从全连接层的角度来看就可以 源码分析 ht
阅读全文
leetcode-hard-array-149. Max Points on a Line -NO
摘要:mycode 不会。。。。 参考 因为每次遍历一个点,也就是i的时候,都是新建的一个lines,所以也就是考虑了k相同b不同的情况 最后gcd函数就求最大公约数,来解决斜率精度的问题
阅读全文
leetcode-hard-array-179 Largest Number-NO
摘要:mycode 写的很复杂,还报错。。。 参考:
阅读全文
leetcode-hard-ListNode-Copy List with Random Pointer-NO
摘要:mycode 报错:Node with val 1 was not copied but a reference to the original one. 其实我并没有弄懂对于ListNode而言咋样才叫做深拷贝了 这道链表的深度拷贝题的难点就在于如何处理随机指针的问题,由于每一个节点都有一个随机指
阅读全文
leetcode-hard-ListNode-148. Sort List
摘要:mycode 97.37% 如果用上一个题目中”参考“的方法,res中放节点而不是val,就会超时 参考 二分法!!!!!!!
阅读全文
leetcode-hard-ListNode-23. Merge k Sorted Lists
摘要:mycode 91.2% 但是下面的这个代码最后的链表就只有1一个val Input:[[1,4,5],[1,3,4],[2,6]] Output:[1] Expected:[1,1,2,3,4,4,5,6] Stdout:[1, 1, 2, 3, 4, 4, 5, 6] 参考 class Solu
阅读全文
leetcode-hard-array-76. Minimum Window Substring -NO
摘要:mycode 不会。。 参考:
阅读全文
leetcode-hard-array-239. Sliding Window Maximum
摘要:mycode 89.27% 参考
阅读全文
leetcode-hard-array- 227. Basic Calculator II
摘要:mycode 29.58% 参考
阅读全文
leetcode-hard-array-287. Find the Duplicate Number
摘要:mycode 77.79% 参考
阅读全文
leetcode-hard-array-128. Longest Consecutive Sequence
摘要:mycode 92.62% 参考
阅读全文
leetcode-hard-array-41. First Missing Positive-NO
摘要:mycode Runtime Error Message:Line 11: MemoryError Last executed input:[2147483647] 44.76% class Solution(object): def firstMissingPositive(self, nums)
阅读全文
leetcode-hard-array-11 Container With Most Water -NO
摘要:mycode time limited 参考: 把求水的容量转换成求面积 假设: 第i条和第j条(i < j)线和x轴围起来面积最大,那么最大面积为Sij = min(ai, aj) * (j - i); 那么: 在j的右边没有比他更高的线 在i的左边也没有比他更高的线 在j的右边没有比他更高的线
阅读全文
leetcode-hard-array-454 4sum II-NO
摘要:mycode 过不了。。。我也不知道为什么。。。 参考
阅读全文
leetcode-hard-array-238. Product of Array Except Self-NO
摘要:mycode 99.47%
阅读全文
leetcode-hard-array-54. Spiral Matrix-NO
摘要:mycode 思路:这种方格图一定要预先设置定位的变量,例如最大的长、宽,变化中的长、宽,在while循环中也要不断判断是否满足break条件
阅读全文
leetcode-easy-trees-98. Validate Binary Search Tree-NO
摘要:mycode 不会 注意:root的值要比左子树上所有的数大 参考
阅读全文
leetcode-easy-trees-108. Convert Sorted Array to Binary Search Tree
摘要:mycode 81.75 参考
阅读全文
leetcode-easy-trees-102. Binary Tree Level Order Traversal-YES
摘要:mycode 98.56%
阅读全文
leetcode-easy-trees-101. Symmetric Tree-YES
摘要:mycode 92.44% 参考
阅读全文
leetcode-easy-trees-Maximum Depth of Binary Tree
摘要:mycode 92.69% 参考
阅读全文
leetcode-easy-others-20 Valid Parentheses
摘要:mycode 95.76%
阅读全文
leetcode-easy-others-268 Missing Number
摘要:mycode 80.25% 参考
阅读全文
leetcode-easy-others-118 Pascal's Triangle
摘要:mycode 16.47% 参考
阅读全文
leetcode-easy-others-190. Reverse Bits-NO
摘要:mycode 不会。。。 参考: 1、 思路: 将十进制的n转换成二进制(str) -》 利用切片、反向获取不包含0b的反转后的二进制字符串 -》 补上0(共32位) 2、 temp = “0b"+temp这一步可有可无
阅读全文
leetcode-easy-others-461. Hamming Distance
摘要:mycode 92.05% 参考
阅读全文
leetcode-easy-others-191. Number of 1 Bits-NO
摘要:mycode 不会。。。 输入是二进制。。。。我还以为十进制。。。。 00000001011 = 11 题意: 编写一个将(无符号)整数作为输入的函数,并返回该数字二进制表示中等于1的位数。例如:输入1234,其二进制表示为10011010010,所以所要求实现函数的输出应该是5。 参考 1 移位+
阅读全文
leetcode-easy-math-13 Roman to Integer
摘要:mycode 97.21% 参考
阅读全文
leetcode-easy-math-326. Power of Three
摘要:mycode 参考
阅读全文
leetcode-easy-math-204 Count Primes-NO
摘要:mycode time limited 参考 1 2 更快优化 time limited
阅读全文
leetcode-easy-math-412 Fizz Buzz
摘要:mycode 99.06%
阅读全文
leetcode-easy-design-155 Min Stack
摘要:mycode 21.48% 列表是有pop操作的 self.res.pop() 参考 始终更新最小值,所以节省 了时间
阅读全文
leetcode-easy-design-384 Shuffle an Array
摘要:mycode random.shuffle功能
阅读全文
leetcode-easy-dynamic-198 House Robber-NO
摘要:mycode 思路: a:1 2 3 4 5 6 7 8 9 f(9) =max( f(7) + a9 ,f(8)) 前一步、前两步 至于前三步 f(9) = f(6)+ a9,但其实f(7)在求值的时候按照上面的公式一定是比f(7)大于等于的,所以f(6)+a9总是小于等于上面的递推式的 至于前四
阅读全文
leetcode-easy-dynamic-53 Maximum Subarray
摘要:mycode 66.85% 参考 思路和上面是一样的,但是初始化不一样,所以不用单独去考虑列表中都为负数的情况 before用来记录短期的最大和,一旦自身变为了负数,就更新为当前值 res一直要去比较和before的大小,来更新为最大值
阅读全文
leetcode-easy-dynamic-121 Best Time to Buy and Sell Stock
摘要:mycode 70.94% 思路:其实没必要去考虑在计算了一个max-min后,后面又出现了一个新的的最小值的情况,因为res取值就是取自己和新的res的最大值 在遇见max值之前,遇见新的最小值,直接更新最小值 在遇见max值之后,遇见新的最小值,没关系啊,因为res已经记录了前面最大值和最小值之
阅读全文
leetcode-easy-dynamic-70 Climbing Stairs
摘要:mycode 65% 下面这个会超时。。。 参考
阅读全文
leetcode-easy-listnode-88 Merge Sorted Array-NO
摘要:mycode 不会。。。。。。。。。。。 参考 思路:从后往前计算,这样不会覆盖nums1中的有效值 由于 You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold addi
阅读全文
leetcode-easy-sorting and searching- 278 First Bad Version
摘要:mycode 96.42 参考
阅读全文
leetcode-easy-listnode-141 Linked List Cycle
摘要:mycode 98.22% 参考 可以稍微简化一丢丢
阅读全文
leetcode-easy-listnode-234 Palindrome Linked List
摘要:mycode 89.42% 参考 1、使用快慢指针,凡是用了额外空间 2、使用快慢指针找重点,其他思路和我相同
阅读全文
leetcode-easy-listnode-21 merge two sorted lists
摘要:mycode 一定要记得创建两个头哦,一个找路,一个找家 参考 下面这个更快
阅读全文
leetcode-easy-listnode-206 reverse linked list
摘要:mycode 98.87
阅读全文
leetcode-easy-listnode-19 remove nth node from end of list
摘要:mycode 88.29% 关键是一定要head前新建一个节点,否则要分类讨论很多次来避免slow或者fast出现None.next的错误 例如,下面这种情况就要分情况讨论,但是会更快
阅读全文
leetcode-easy-string-14 Longest Common Prefix
摘要:mycode 91.59% 参考 思路 : 从后往前逐步缩短搜索的位置 注意: s = 'asdc's[:8] 是可以输出s的,不会报错
阅读全文
leetcode-easy-string- 38 Count and Say
摘要:mycode 91.28% 思路:题意实在太难理解了,尤其是英文又不好,只能参看下别人的资料,理解下规则。终于理解,题意是n=1时输出字符串1;n=2时,数上次字符串中的数值个数,因为上次字符串有1个1,所以输出11;n=3时,由于上次字符是11,有2个1,所以输出21;n=4时,由于上次字符串是2
阅读全文
leetcode-easy-string- 8 String to Integer (atoi)
摘要:mycode 98.26% 易错点: while循环式,and判断的地方先判断下标会不会超出范围 参考 思路:哪些情况下可以直接返回0呢 1) 空 2)+-符号不是开头3) 遍历到的字符不是空格、+-、数字
阅读全文
leetcode-easy-string- 125 Valid Palindrome
摘要:mycode 9.62% 注意以下陷阱 参考 主要是如何简单的判断是否为字符数组
阅读全文
leetcode-easy-string-28 Implement strStr()
摘要:mycode 77.15% 参考: 要习惯python的.find操作呀 Clarification: What should we return when needle is an empty string? This is a great question to ask during an in
阅读全文
leetcode-easy-string-242. Valid Anagram
摘要:mycode 71.97% 参考 用法
阅读全文
leetcode-easy-string-387 First Unique Character in a String
摘要:mycode 24.42% 参考
阅读全文
leetcode-easy-string-344 Reverse String
摘要:mycode 参考:更快
阅读全文
leetcode-easy-string-7 Reverse Integer
摘要:mycode 注意:用int(x)时,会自动把x前面的0去掉 参考
阅读全文
leetcode-easy-array-136. Single Number
摘要:mycode 75.80% 参考:
阅读全文
leetcode-easy-array-48. Rotate Image-NO
摘要:mycode 思路:第m行要变到 - 1- m 列 ,但是没有再想一步即列变为行,这样每一个位置的变换方式就出来了 难点:如何不使用额外空间呢? 参考: 思路:找到矩阵旋转和转置之间的联系,转置是可以原地运算的
阅读全文
leetcode-easy-array-1 two sum
摘要:mycode 33.91% 参考:
阅读全文
leetcode-easy-array-283 move zeros
摘要:mycode 77.24% 参考: 思路类似于 26-Remove Duplicates from Sorted Array
阅读全文
leetcode-easy-array-66 .plus one
摘要:mycode 主要在计算商和余数的时候一定要用还没更新的商和余数哦 参考:
阅读全文
leetcode-easy-array-50. Intersection of Two Arrays II
摘要:mycode 77.78% 参考: 1、应用collection.Counter库,可以实现与运算 2、
阅读全文
leetcode-easy-array-217. Contains Duplicate
摘要:mycode 76.39% 参考 最快:
阅读全文
leetcode-easy-array-189 Rotate Array
摘要:mycode 75.59%
阅读全文
leetcode-easy-array-122 best time to buy and sell stocks II
摘要:mycode 69.45% 参考: 下面的更快,因为索引查找的次数少一些!
阅读全文
leetcode-easy-array-31 three sum
摘要:mycode 69.20% 参考: 思路和我的差不多,就是用一个标识符去记录重复项被非重复项覆盖的位置
阅读全文
leetcode-mid-others-621. Task Scheduler
摘要:mycode 53.01% 这个题在纸上画一画就知道啦,只要出现次数最多的字母能够满足要求,其他更少的字母穿插在其中,间隔就更满足<n啦,当然,最后不要忘记加上尾巴哦,尾巴和出现次数最多的字母的种类有关哦! 参考:
阅读全文
leetcode-mid-math-371. Sum of Two Integers-NO-???
摘要:mycode: 没思路啊。。。二级制四则运算不熟悉。。。 参考: 既然不能使用加法和减法,那么就用位操作。下面以计算5+4的例子说明如何用位操作实现加法: 1. 用二进制表示两个加数,a=5=0101,b=4=0100; 2. 用and(&)操作得到所有位上的进位carry=0100; 3. 用xo
阅读全文
leetcode-mid-math-172. Factorial Trailing Zeroes-NO-????
摘要:mycode 问题:为甚在小于200的时候,答案ok,大于等于200的时候,就少一个1??? 参考
阅读全文
leetcode-mid-others-169. Majority Element¶
摘要:mycode 54.93% 参考: 思路 : 题目中说明了majority的特点,所以排序之后从下标就能看出来啦
阅读全文
leetcode-mid-others-150. Evaluate Reverse Polish Notation
摘要:mycode 42.30%、 注意:如果不考虑符号,-1//3=-1而不是等于0,因为是向下取整 参考:
阅读全文
leetcode-mid- math-166. Fraction to Recurring Decimal
摘要:mycode 73.92% 如何判断同号? 1)res = "-" if ((numerator>0) ^ (denominator>0)) else "" 2)如下 参考: 思路; 我记录了每次的商和余数,其实没必要啦,只需要记录余数即可,因为除数是不变的,余数重复出现了,自然商也就重复啦
阅读全文
leetcode-mid-math-29. Divide Two Integers-NO
摘要:mycode 91.28% 参考: 思路:其实时不能用除法运算的,但是我还是用了。。。。 这道题的要求是在不使用乘法、除法、取模运算的前提下实现两个整数相除。如果溢出,返回MAX_INT。这道题的直接思路是用被除数不断减去除数,直到为0。这种方法的迭代次数是结果的大小,即比如结果为n,算法复杂度是O
阅读全文
leetcode-mid-math -171. Excel Sheet Column Number
摘要:mycode 90.39% 参考: carry实际上就是十进制中的指数
阅读全文
leetcode-mid- 50. Pow(x,n)-NO
摘要:mycode time limited 例如 x=0.00001 n=2147483647 参考:
阅读全文
leetcode-mid-math - 69. Sqrt(x)-NO
摘要:mycode memory error 参考: 1、但是下面这个可以过!!!难道range会存储??????????? 2、 3、 我也试了类似二分的方法想缩小范围,但是没有成功。。。
阅读全文
leetcode-mid-math-202. Happy Number-NO
摘要:mycode 关键不知道怎么退出循环。。。。。。。。。。。。。其实只要有一个平方和以前出现过,那么整个计算过程就会重复 参考:
阅读全文
leetcode-mid-dynamic programming- Longest Increasing Subsequence-NO
摘要:不会。。。 参考: 思路类似于coin那个题,for循环中在满足条件时就及时更新当下位置的信息
阅读全文
leetcode-mid-design-380. Insert Delete GetRandom O(1)
摘要:mycode 参考: emmmm。。。我直接调用的???我的天。。。 思路:用dic来查找,找到后去insert和删除
阅读全文
leetcode-mid-design-297. Serialize and Deserialize Binary Tree¶-NO -??
摘要:mycode 将list转换成树的时候没有思路 参考: deque 是双边队列(double-ended queue),具有队列和栈的性质,在 list 的基础上增加了移动、旋转和增删等 其中queue可以用list替换 疑惑 Line 35: AttributeError: Codec insta
阅读全文
leetcode-mid-dynamic programming-322. Coin Change - NO
摘要:mycode 我开始错误的思路:先用大钱除总钱数来保证 fewest number of coins,当最后剩下的amount小于最小币值的货币时,就说明return -1,但是这样想是有问题的!!! 例如:[1,4,5] 12=5*2+2 12 =5*2 + 1*2 用了4枚,但是12 = 4*3
阅读全文
leetcode-mid-dynamic programming-62. Unique Paths
摘要:mycode time limited 参考: 思路: 类似于金字塔那个题,考虑上一步即可
阅读全文
leetcode-mid-dynamic programming-55. Jump Game
摘要:mycode 71.47% 思路: 既然要到达终点,那么俺就可以倒推,要想到达n,可以有以下情况 1)到达n-1,然后该位置最少可以走一步 2)到达n-2,然后该位置最少可以走两步 3)到达n-3,然后该位置最少可以走三步 。。。。 emmmm...本来想按照这个方法写个函数,发现跑不通。。。。我就
阅读全文
leetcode-mid-sorting and searching - 240. Search a 2D Matrix II -NO
摘要:mycode time limited 参考: 1、while循环中问题的关键是,如何不断缩小搜索的范围? -- 从右上角or左下角开始是最好的,因为两个方向的变化是一个变大一个变小 2、巧用pyhton
阅读全文
leetcode-mid-sorting and searching - 33. Search in Rotated Sorted Array
摘要:mycode 参考: 二分查找 可以和34 Search for a Range对比思考,都是采用二分法哦!
阅读全文
leetcode-mid-sorting and searching - 56 Merge Intervals
摘要:mycode 出现的问题:比如最后一个元素是【1,10】,1小于前面所有元素的最小值,10大于前面所有元素的最大值,而我最开始的思路只考虑了相邻 参考: 思路:如果我只考虑相邻,必须先将list排序,由于key只有一个,所以还要在循环的时候考虑第二个元素
阅读全文
leetcode-mid-sorting and searching -347. Top K Frequent Elements
摘要:mycode 71.43% 参考: 思路: heapq--该模块提供了堆排序算法的实现。堆是二叉树,最大堆中父节点大于或等于两个子节点,最小堆父节点小于或等于两个子节点。 如果需要获取堆中最大或最小的范围值,则可以使用heapq.nlargest() 或heapq.nsmallest() 函数 下面
阅读全文
leetcode-mid-sorting and searching-34 Search for a Range
摘要:mycode 63.98% 参考 思路:类似于二分法,先用[low,high]找到包含target的子段,再用[L,R]找到包含target的两端
阅读全文
leetcode-mid-sorting and searching-162. Find Peak Element
摘要:mycode 54.81% 参考: 思路:题目中左右为负无穷这个条件可以用起来,把原列表扩增以下就可以把两端的情况合并在一个for循环讨论啦
阅读全文
leetcode-mid-array-sorting and searching - 215 Kth Largest Element in an Array
摘要:mycode 77.39% 参考
阅读全文
leetcode-mid-sorting and searching-75. Sort Colors-NO
摘要:mycode 97.95% 参考: 思路:i记录0的个数,j记录0和1的个数,for循环是,都先把当前位置赋值为2,当前值其实小于2,就根据i、j把该值放到合适的位置
阅读全文
leetcode-mid-backtracking -22. Generate Parentheses-79 Word Search -NO
摘要:mycode 错误,因为借鉴了Number of Islands问题中的方法,导致在for循环中即使已经出现了答案,也还会继续遍历。但是两个题目的不同时,island需要找出所有的情况,这个题只需要找到第一个完整结果就可以返回 参考:
阅读全文
leetcode-mid-backtracking -78 Subsets
摘要:mycode 86.06%
阅读全文
leetcode-mid-backtracking -46. Permutations-NO
摘要:mycode 没有通过,其实只需要把temp.append改为temp+[nums[i]]即可 参考
阅读全文
leetcode-mid-backtracking -22. Generate Parentheses-NO
摘要:mycode 没有思路,大早上就有些萎靡,其实和上一个电话号码的题如出一辙啦 参考:
阅读全文
leetcode-mid-backtracking-17. Letter Combinations of a Phone Number
摘要:mycode 68.26% 参考:
阅读全文
leetcode-mid-Linked list- 200. Number of Islands¶
摘要:mycode 57.92% 参考: 思路:其实第二次双层for循环是多余的,可以在前面就计数
阅读全文
leetcode-mid-Linked list- 230 Kth Smallest Element in a BST
摘要:mycode 81.40% 参考 思路: 我的方法中先将整个tree都遍历了一遍,其实是不必要的,那么该如何恰好在找到第k个数的时候及时退出呢-》
阅读全文
leetcode-mid-Linked list- 116. Populating Next Right Pointers in Each Node
摘要:mycode 93.97% 参考: 其实第二个if可以只写root.left,这样阔以快一丢丢啦
阅读全文
leetcode-mid-Linked list- 105. Construct Binary Tree from Preorder and Inorder Traversal
摘要:mycode 43.86% 参考: 可能map的方法会比index快
阅读全文
leetcode-mid-Linked list- 103. Binary Tree Zigzag Level Order Traversal
摘要:mycode 99.24% 参考: 精简下,把root=None的情况融合在下面一起
阅读全文
leetcode-mid-Linked list-94 Binary Tree Inorder Traversal
摘要:mycode 95% 参考: 重点是递归的理解: 大:先得到左子树的list,再加上root的val,再加上右子树的list 小:迭代,最小的tree也应该符合上述规则
阅读全文
leetcode-mid-Linked list-160 Intersection of Two Linked Lists-NO
摘要:mycode 用了反转链表,所以不符合题意 参考: 思路: 1 先让长的链表先走,然后相同长度下看是否相遇 2 让短的链表走到头后,再从长链表的头走起,这样当长链表走完后,短链表刚好在长链表上走了长度的差值的步数,所以长链表再从短链表头开始走的时候,相当于两个人起跑线相同啦
阅读全文
leetcode-mid-Linked list-328 Odd Even Linked List-NO
摘要:mycode 错误原因:Even节点变化之后,Odd取next和.next.next时,链表都已经变化了 参考:保证链表取值过程中相对顺序不乱!
阅读全文
leetcode-mid-Linked list-2 Add Two Numbers
摘要:mycode 87.22% 参考: 1、如何把其中一个为None放到while里面去? 2、如何把进位也放进去? 5. Longest Palindromic Substring
阅读全文
leetcode-mid-array-5. Longest Palindromic Substring
摘要:mycode 12.51% 参考:
阅读全文
leetcode-mid-array-334 Increasing Triplet Subsequence-NO
摘要:mycode time limited 参考: 思路:不断更新最大值和最小值,如果elif遇见介于其中的,就可以返回True啦 注意:Python中可以用如下方式表示正负无穷:
阅读全文
leetcode-mid-array-3 Longest Substring Without Repeating Characters
摘要:mycode 99.21% 注意:下面这种方式也可以及时更替最大长度
阅读全文
leetcode-mid-array-49 Group Anagrams
摘要:mycode 95.35% 思路:构建字典 下面是list的加法 if temp not in dic: dic[temp] = [item] else: dic[temp] += [item]
阅读全文
leetcode-mid-array-73 set matrix zeros
摘要:mycode 空间复杂度 m+n 思路:用set把为0元素所在行、列记录下来 注意:注释的方法更快 参考: 常数空间,用第一行第一列来记录
阅读全文
leetcode-mid-array-31 three sum-NO
摘要:my code: time limited 思路: 1、时间复杂度n*n 排序 ( WT1:为什么要排序?)-》构建字典记录value:次数-》两层循环,其中不断不判断第三个数是不是也等于两层循环的值(用到dic的记录次数) 注意,以下的方式就会超时,可能是因为list和dict.keys()的检索
阅读全文