自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 501. Find Mode in Binary Search Tree

# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution(object): def findMode(self, root): .

2020-06-28 22:37:39 166

原创 Leetcode 98. Validate Binary Search Tree

# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution(object): def isValidBST(self, root):.

2020-06-28 22:12:10 136

原创 Leetcode 210. Course Schedule II(Python实现)

思路:和Leetcode 207.Course Schedule一样,只不过将result逆序输出而已,代码就最后一行不一样~可以参考:Leetcode 207.Course Schedule的代码实现https://blog.csdn.net/lipsky_lipsky/article/details/105699821class Solution: def findOrd...

2020-04-23 09:54:18 269

原创 Leetcode 207. Course Schedule(Python实现)

思路:将边集合构成一个有向图,判断有向图中是否存在环,如果存在环,则一定不能完成该课程;如果不存在环,还需判断,能否遍历到每个结点,如果能遍历到,那么课程能全部完成,则不然。这里判断有向图中是否存在环,用拓扑排序来实现。class Solution: def canFinish(self, numCourses: int, prerequisites: List[List[int]]...

2020-04-23 09:28:02 359

原创 Leetcode 179. Largest Number

思路:按照cmp=x+y < y+x对其交换,也就是在sort函数中对其该规则进行排序。举个例子:input:['2', '10'] ,组成的字符串有两种可能性为'210' 和‘102’,显然其字符串对应的整数,210大于102, 所以要要比较的是x+y 和y+x;对于input list长度大于2的时候也是类似的思路。lambda函数这样子理解:x='2', y='10', x+y &...

2020-04-22 10:02:02 127

原创 Leetcode 38. Count and Say

思路:先得到n-1对应的字符串,对该字符串进行遍历,边遍历边统计,当和相邻的字符不相等时,就将该count和value加入到current字符串中,直到遍历结束。Python代码实现:class Solution(object): def countAndSay(self, n): """ :type n: int :rtype: ...

2020-04-22 08:08:16 109

原创 Leetcode 54. Spiral Matrix

思路:按照顺时针打印matrix,一圈圈的顺时针打印matrix的边框,matrix一圈圈的变小。input matrix:[[1, 2, 3],[4, 5, 6],[7, 8, 9]]output:[1, 2, 3, 6, 9, 8, 7, 4, 5]分析:第一圈(从i=0, j=0开始, m=3, n=3):先打印第一行,>> [1, 2, 3]; 再打印最...

2020-04-20 11:26:59 138

原创 Leetcode73. Set Matrix Zeroes

思路:要在matrix上面直接进行修改,如果边遍历,边修改的话,使得原来的matrix改变了,0的个数也变多了,所以要在原来的matrix中,直接记录下来0所在的位置的横坐标和纵坐标,再后面对matrix进行一起修改。import copydef change_row_column(nums, i, j): # 修改第i行和第j列的元素都变成0 for x in range(le...

2020-04-13 22:18:55 105

原创 Leetcode 75.Sort Colors

思路:对三种颜色分别进行计数,再对原来的数组进行覆盖写的操作。class Solution(object): # def sortColors(self, nums): # 直接调用了库函数sort() # """ # :type nums: List[int] # :rtype: None Do not return anythin...

2020-04-13 21:21:50 160

原创 [快手春招] 2020算法类笔试B卷题解

1.删除字符中连续字符长度大于2的字符,在消除的字符串上继续消除。(1)测试样例 input1:abbbssa[题目给出] output1:assa input2:sbbbssa[自己想的] output2:aac代码:def remove_str(s): for i in range(len(s)-1): ...

2020-04-12 23:17:16 588 2

原创 Leetcode 78. Subsets

思路:假如集合为{a, b, c},其子集为[], {c}, {b}, {a}, {b, c}, {a, c}, {a, b}, {a, b, c},一共有8个子集。这里可以看做是排列组合的问题,每个元素在子集中有两种选择,出现或者不出现,那么 3个元素,则有2^3种可能,所以有8个子集(这里已经包含空集了)。运用上述求子集数量的思想,子集一共有2^3种可能性,(从000-> 111,也...

2020-04-11 22:28:10 94

原创 Leetcode 238. Product of Array Except Self

思路:题目中说不能用除法;用暴力,会超时。为了计算 除第i个元素的乘积,可以将数组分为三个部分:1...i-1; i; i+1...n (注:这里的i代表序号,不是数组下标) output[i] = a * b[被乘数a:代表前i-1个数的乘积;乘数b:代表后n-i个数的乘积;output代表最后输出的结果] 所以之类求出a和b就可以了,求a和b的方法用累乘法...

2020-04-02 14:08:04 106

原创 Leetcode 198. House Robber

思路:n个房屋所能抢到的最大金额 = max(n-1个房屋所能抢到的最大金额, n-2个房屋所能抢到的最大金额+第n个房屋的金额)class Solution(object): def rob(self, nums): """ :type nums: List[int] :rtype: int """ i...

2020-03-31 22:32:23 92

原创 Leetcode 206. Reverse Linked List

思路:设置三个指针pre,cur,lat;循环结束的条件: cur指向最后一个,lat指向null# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass...

2020-03-31 21:54:10 108

原创 Leetcode 202. Happy Number

思路:用一个set,用判断n是否出现过作为跳出while的条件。class Solution(object): def get_square_sum(self, n): result = 0 while(n): result += (n % 10) ** 2 n //= 10 retur...

2020-03-31 21:39:30 84

原创 Leetcode 204. Count Primes

算法思路:用质数筛选算法:The Sieve of Eratosthenesclass Solution(object): def countPrimes(self, n): flag_list = [1] * n # 1代表素数;0代表非素数 count = 0 for i in range(2, n): # 最小的素数为2 ...

2020-03-31 21:08:57 159

原创 Leetcode 234. Palindrome Linked List

方法1 思路:将链表中的元素都保存list中,并判断这个list和反转后的list,是否相同,如果相同,则回文;否则,则不回文。 性能分析:时间复杂度为O(n);空间复杂度为O(n) [因为用到了extra space list]方法2 思路:将链表等分为两部分,判断前半部分和后半部分的逆序是否相等,如果相等,则回文,否则不回文。 性能分析:时间复杂度为O(n)...

2020-03-31 20:29:27 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除