![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
xiabe
这个作者很懒,什么都没留下…
展开
-
701. (leetcode)Insert into a Binary Search Tree
题目解题思路简单来说,就是一直往下找,如果val的值小,那么往左线找,如果val的值大于结点的值,那么往右线找,直到找到了一个为null的结点,把它的父节点添加一个值为val的结点即可。我的代码# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self...原创 2019-04-12 22:48:17 · 138 阅读 · 0 评论 -
747. Largest Number At Least Twice of Others
题目题目大意:找到一个最大数的索引,这个最大数要满足是其他数字的两倍或以上。如果满足,返回该索引,如果不满足,返回-1。解题思路/代码(效率很高)class Solution: def dominantIndex(self, nums: List[int]) -> int: if not nums: return -1 ...原创 2019-03-28 22:36:43 · 105 阅读 · 0 评论 -
724. Find Pivot Index
题目找到一个中间点,使左边的集合和右边集合的求和综合相等。**注意:**集合可以为空。并且含正负数。我的代码(效率跟优秀代码接近)class Solution(object): def pivotIndex(self, nums): """ :type nums: List[int] :rtype: int """...原创 2019-03-28 15:24:52 · 139 阅读 · 0 评论 -
349. Intersection of Two Arrays(求两个数组的交集)
349. Intersection of Two Arrays题目一句话代码(效率很低)优秀代码(效率挺高)题目题目很简单,求两个数列的交集。一句话代码(效率很低)将两个集合转换成set,求交集就完事了。(& 或 intersection) return list(set(nums1)&(set(nums2)))优秀代码(效率挺高)class Solution(o...原创 2019-03-28 14:53:02 · 127 阅读 · 0 评论 -
374. Guess Number Higher or Lower(二分查找)
374. Guess Number Higher or Lower题意:随机给出一个范围1-n,和一个正确答案pick。通过一个判断高了还是低了的api,找到你要的答案。可以抽象为:在一个顺序数组中找到我们要的数值。可用采用二分查找。我的代码思路对了, 细节没有处理好。# The guess API is already defined for you.# @param num, ...原创 2019-03-28 14:34:07 · 126 阅读 · 0 评论 -
202. Happy Number
202. Happy Number题目我的代码:优秀代码(使用了我第一种的解决方案)题目题目大意是通过一个数,不断分解求平方和,然后最后能得到1,那么这个数字称为happy number。我的代码:通过解析数字,将整数解析成一个数字列表,判断循环后如果发现成为自己本身,那么就退出。但提交后,发现数字2会出现一个自己之前没有预料到的问题:一个数可能不断迭代后没有返回它本身。我想到两种解...原创 2019-03-28 14:23:59 · 113 阅读 · 0 评论 -
739. Daily Temperatures
题目题目就是找到要推迟几天才能找到温度更高的日子。尝试过for i/j循环直接计算 结果超时。代码代码一(栈方法):class Solution: def dailyTemperatures(self, T): ans = [0] * len(T) stack = [] for i, t in enumerate(T): ...原创 2019-04-07 12:11:56 · 106 阅读 · 0 评论 -
338. Counting Bits
题目代码这里面有个神奇的规律。00->10->1->1->20->1->1->2->1->2->2->3class Solution: def countBits(self, num): """ :type num: int :rtype: List[int]...原创 2019-04-07 11:28:15 · 103 阅读 · 0 评论 -
791. Custom Sort String Medium
题目代码def customSortString(self, S, T): """ :type S: str :type T: str :rtype: str """ l = [] for i in S: l.append(i*T.count(i))...原创 2019-04-07 11:06:49 · 109 阅读 · 0 评论 -
543. Diameter of Binary Tree
题目代码# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def diamet...原创 2019-04-07 01:33:19 · 96 阅读 · 0 评论 -
707. Design Linked List
题目设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该有两个属性:val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果希望使用双链表,还需要一个属性prev来指示链表中的前一个节点。假设链表中的所有节点都是0索引的。在链表类中实现以下功能:get(index):获取链表中index-th节点的值。如果索引无效,则返回-1。addAtHead(v...原创 2019-04-07 01:22:41 · 94 阅读 · 0 评论 -
520. Detect Capital
题目代码class Solution: def detectCapitalUse(self, word: str) -> bool: return word[1:]==word[1:].lower() or word==word.upper()原创 2019-04-07 00:30:16 · 113 阅读 · 0 评论 -
27. Remove Element(列表)
题目代码class Solution: def removeElement(self, nums, val): start, end = 0, len(nums) - 1 while start <= end: if nums[start] == val: nums[start], nums...原创 2019-04-07 00:12:27 · 118 阅读 · 0 评论 -
83. Remove Duplicates from Sorted List
题目代码代码1:双指针:class Solution: def deleteDuplicates(self, head: ListNode) -> ListNode: if not head: return head dummy = prev = head node = head.next ...原创 2019-04-06 23:49:28 · 113 阅读 · 0 评论 -
566. Reshape the Matrix
题目这个题挺难的,首先得解决一个问题.把原来的数组拉平.就像 flat = sum(nums, [])或者使用itertools.chain()如:import itertoolsa= ['a','aa','aaa']b= itertools.chain(a)c= itertools.chain(*a)print(a)print(list(b))print(list(c...原创 2019-04-06 22:15:49 · 81 阅读 · 0 评论 -
198. House Robber(没研究得透)
198. House Robber题目解法效率最高题目当取了一个数,相邻的就没有用。解法f(0) = nums[0]f(1) = max(num[0], num[1])f(k) = max( f(k-2) + nums[k], f(k-1) )[0]+[2]比较[1] 得到一个 [1]+[3]比较到[2]->[0]+[2]或[1]class Solution: ...原创 2019-03-27 22:53:21 · 97 阅读 · 0 评论 -
226. Invert Binary Tree
题目我的代码(递归)# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def ...原创 2019-03-27 20:54:34 · 83 阅读 · 0 评论 -
387. First Unique Character in a String
题目简单代码思路,就是先计算各个字符的数量,然后找到第一个数量为1的字符,得到该字符的索引。返回,如果没有,那么返回-1。class Solution(object): def firstUniqChar(self, s): dict1 = {} for char in s: if char in dict1: ...原创 2019-04-02 16:03:20 · 123 阅读 · 0 评论 -
412. Fizz Buzz
题目题比较垃圾。就很简单,按题意写if elif else语句就完事了。我的代码(打败100%):class Solution(object): def fizzBuzz(self, n): """ :type n: int :rtype: List[str] """ result=[] ...原创 2019-04-02 16:23:12 · 108 阅读 · 0 评论 -
278. First Bad Version
题目简单来说,可以看作是有序数列。只不过只有两种值,True/Fasle。目的就是找到第一个True,那么二分查找挺适合的。我的代码(二分查找)# The isBadVersion API is already defined for you.# @param version, an integer# @return a bool# def isBadVersion(version...原创 2019-04-02 17:38:38 · 88 阅读 · 0 评论 -
7. Reverse Integer
题目我的代码class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ sign=False if x<0: sign =True x=-...原创 2019-04-04 13:51:07 · 101 阅读 · 0 评论 -
104. Maximum Depth of Binary Tree(求深度)
题目我的代码# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(objec...原创 2019-04-04 13:50:34 · 106 阅读 · 0 评论 -
836. Rectangle Overlap
题目我的代码(效率较高)class Solution(object): def isRectangleOverlap(self, rec1, rec2): """ :type rec1: List[int] :type rec2: List[int] :rtype: bool """ if...原创 2019-04-03 15:33:29 · 227 阅读 · 0 评论 -
231、326、342 Power of Two
题目判断一个数是不是2的n次方。几道题目是同理的。我的代码class Solution(object): def isPowerOfTwo(self, n): """ :type n: int :rtype: bool """ if n==1: return True ...原创 2019-04-03 15:09:47 · 183 阅读 · 0 评论 -
754. Reach a Number(小有难度)
题目一开始看着毫无头绪。讨论区思路target 正负号不影响结果假设所有的step都向右的和为s,这时转换一个数字n向左,即减去这个数字的两倍(s - 2 * n)最多只有一个数字向左,即可达到target因为 s 需要减去一个偶数2*n,所以target 与 s 必须同为偶数,或者奇数完成class Solution(object): def reachNumber...原创 2019-04-03 15:01:56 · 250 阅读 · 0 评论 -
383. Ransom Note
题目简单来说,就是判断a字符串能够使用b字符串中的字母来构造。我的代码思路就是使用计数器,计算每个字符的出现次数,比较其能否使用:class Solution(object): def canConstruct(self, ransomNote, magazine): """ :type ransomNote: str :type ...原创 2019-04-03 14:17:35 · 204 阅读 · 0 评论 -
303. Range Sum Query - Immutable
题目我的代码class NumArray(object): def __init__(self, nums): """ :type nums: List[int] """ self.nums=nums def sumRange(self, i, j): """ :type i:...原创 2019-04-03 14:13:16 · 104 阅读 · 0 评论 -
917. Reverse Only Letters(反转列表)
题目我的代码class Solution(object): def reverseOnlyLetters(self, S): """ :type S: str :rtype: str """ i=0 j=len(S)-1 S=list(S) while i&...原创 2019-04-03 13:29:51 · 351 阅读 · 0 评论 -
344. Reverse String
题目我的代码这题太简单了class Solution(object): def reverseString(self, s): """ :type s: List[str] :rtype: None Do not return anything, modify s in-place instead. """ ...原创 2019-04-03 12:58:57 · 89 阅读 · 0 评论 -
650. Can Plae Flowers(不相邻放置)
题目我的代码class Solution(object): def canPlaceFlowers(self, v, n): """ :type flowerbed: List[int] :type n: int :rtype: bool """ if len(v)==1: ...原创 2019-04-03 02:00:58 · 124 阅读 · 0 评论 -
1009. Complement of Base 10 Integer
题目我的代码class Solution(object): def bitwiseComplement(self, N): """ :type N: int :rtype: int """ i=2 while N>=i: i*=2 return...原创 2019-04-03 01:07:06 · 271 阅读 · 0 评论 -
997. Find the Town Judge
题目我的代码(效率低到令人发指)class Solution(object): def findJudge(self, N, trust): """ :type N: int :type trust: List[List[int]] :rtype: int """ if N==1: ...原创 2019-04-03 00:58:01 · 128 阅读 · 0 评论 -
168. Excel Sheet Column Title
题目我的代码整个代码的精髓 n-=1class Solution(object): def convertToTitle(self, n): """ :type n: int :rtype: str """ result='' while n: n-=1 ...原创 2019-04-02 23:48:24 · 86 阅读 · 0 评论 -
888. Fair Candy Swap
题目我的代码(效率低)class Solution(object): def fairCandySwap(self, A, B): """ :type A: List[int] :type B: List[int] :rtype: List[int] """ dif =(sum(A)-su...原创 2019-04-03 15:33:54 · 99 阅读 · 0 评论 -
172. Factorial Trailing Zeroes
题目题目就是对一个数求阶乘,然后判断这个数后面有几个0.我的代码1:(未通过)我一开始以为他很简单,于是使用了如下的代码,发现超时:class Solution(object): def trailingZeroes(self, n): """ :type n: int :rtype: int """ ...原创 2019-04-02 23:09:09 · 122 阅读 · 0 评论 -
232. Implement Queue using Stacks
题目使用基本的栈实现一个队列Implement the following operations of a queue using stacks.push(x) – Push element x to the back of queue.pop() – Removes the element from in front of queue.peek() – Get the front e...原创 2019-03-29 11:49:06 · 121 阅读 · 0 评论 -
532. K-diff Pairs in an Array
题目大意是查找到,差值为k的数据对的数量在一个数组中。我的代码(未通过)class Solution: def findPairs(self, nums: List[int], k: int) -> int: nums.sort() return len(set([(x,y) for x,y in itertools.combinations(...原创 2019-03-27 16:59:58 · 102 阅读 · 0 评论 -
225. Implement Stack using Queues
题目大意是使用queue队列(仅用标准操作)来实现stack的操作。我的代码主要思路:使用了双端队列,但默认屏蔽一些功能。使用了popleft() 和append()来实现。class MyStack: def __init__(self): """ Initialize your data structure here. """...原创 2019-03-27 16:03:32 · 75 阅读 · 0 评论 -
872. Leaf-Similar Trees(有空研究下栈算法)
题目如果两棵树得到的叶子序列相同,那么是一组叶子相似树。我的代码# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right =...原创 2019-03-27 14:43:34 · 135 阅读 · 0 评论 -
496. Next Greater Element I
496. Next Greater Element I题目解题思路我的代码优秀代码题目解题思路对于nums1列表中的数字i,而查找i在nums2的索引位置,从索引中的位置开始往后查找如果查找到就将该更大的数字的加入到result列表中。如果找不到更大的数字则加入-1。我的代码class Solution: def nextGreaterElement(self, nums1: ...原创 2019-03-18 21:06:07 · 115 阅读 · 0 评论