随笔分类 -  力扣中国-每日一题

以后每天刷一道编程题。
摘要:# Definition for singly-linked list.# 这道题还是有点复杂的,但是是有套路的,套用反转链表的想法class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = nex 阅读全文
posted @ 2021-03-18 10:31 月为暮 阅读(76) 评论(0) 推荐(0)
摘要:class Solution: # 实现基本计算器使用栈的数据结构,首先找出来数字,保存下来。 # 然后碰到运算符,+ , - 直接压入栈里边, # 碰到运算符 * 和 / 的情况下,说明前面已经有一个数值压入栈,并且 num 的值为运算符的后一个数字。 # 计算 * / 运算结果,并将计算后的结果 阅读全文
posted @ 2021-03-11 11:03 月为暮 阅读(106) 评论(0) 推荐(0)
摘要:from typing import List# 338比特位计数,可以通过三种方法来做。# 第一种:暴力法,一边循环遍历,然后求出每个数字转化为二进制的1的个数。# 第二种:递归法,但是需要递归的过程中将结果记录下来,使用数组将每次计算的结果存起来。# 第三种方法和第二种类似,都是使用数组将之前算 阅读全文
posted @ 2021-03-03 10:37 月为暮 阅读(91) 评论(0) 推荐(0)
摘要:from typing import List# 这道题我是用暴力的方法来做出来的,先统计出来如果老板不能够控制住自己的脾气,应该能够使多少位顾客满意。# 然后计算每一天应该有多少位顾客满意,写入到一个列表中去。# 使用滑动窗口的方法,计算每一个X天老板都控制住自己的脾气,找出最大值。class S 阅读全文
posted @ 2021-02-23 09:59 月为暮 阅读(71) 评论(0) 推荐(0)
摘要:from typing import List# 这道题使用滑动窗口的方法来做的,定义一个长度为k的滑动窗口# 向右滑动,计算每次滑动窗口中数字的和,最后算出最大值。class Solution: def findMaxAverage(self, nums: List[int], k: int) - 阅读全文
posted @ 2021-02-04 13:31 月为暮 阅读(67) 评论(0) 推荐(0)
摘要:# Definition for a binary tree node.'''搜索二叉树,是一个左子树小于根节点小于右子树的特殊二叉树。'''# 这道题使用递归的方法来做,有删除的节点有四种情况,# 1,是叶子节点。没有孩子。# 2,有一个左孩子。直接让左孩子即为就好了。# 3,有一个右孩子。 直接 阅读全文
posted @ 2021-02-01 17:11 月为暮 阅读(173) 评论(0) 推荐(0)
摘要:from typing import List# 这道题本质上还是利用并查集的知识,首先计算最小的权重和,去除掉无效的边,# 然后遍历所有的边,然后计算最小的权重和,同时判断是否可以连通。# 并查集的模板。class DSU: def __init__(self,n): # 实例化一个列表。用来存放 阅读全文
posted @ 2021-02-01 14:38 月为暮 阅读(141) 评论(0) 推荐(0)
摘要:# 力扣已经连续好几天的题目都是考察并查集的题,# 今天也不例外,是否为相似字符串组就表示一个组,也就是一个连通的区域# 这道题变向是考察一共有多少个连通区域。# 首先是并查集的魔板。class DSU: def __init__(self,n): # 初始化一个数组,初始每个节点都不联通。 sel 阅读全文
posted @ 2021-01-31 13:00 月为暮 阅读(156) 评论(0) 推荐(0)
摘要:from typing import Listclass Solution: # 自己写的深搜,没办法通过,超时。 def minimumEffortPath1(self, heights: List[List[int]]) -> int: # 判断列表是否为空 if len(heights) == 阅读全文
posted @ 2021-01-29 11:17 月为暮 阅读(125) 评论(0) 推荐(0)
摘要:from typing import List# 方法:使用并查集的想法,有个人那就是有两个组合,然后挨着判断# 每个人的节点是否相连,是否相连后还有多余的连线。# 定义一个并查集类,稍微改变了一下。class UnionFind: def __init__(self,size): self.fat 阅读全文
posted @ 2021-01-28 19:32 月为暮 阅读(58) 评论(0) 推荐(0)
摘要:from typing import Listclass Solution: # 错误的想法,刚开始想的是使用双指针的方法来计算左右两边的和, # 但是没有考虑到会有负数的存在,所有这个方法,行不通。 def pivotIndex1(self, nums: List[int]) -> int: if 阅读全文
posted @ 2021-01-28 11:09 月为暮 阅读(67) 评论(0) 推荐(0)
摘要:from typing import List# 我们使用并查集来做这道题,一共N台电脑的话,至少需要n-1根线。# 并查集模板class UnionFind: def __init__(self): #记录每一个节点的父节点 self.size = 0 self.father = {} def f 阅读全文
posted @ 2021-01-23 15:14 月为暮 阅读(127) 评论(0) 推荐(0)
摘要:from typing import List# 这道题是个简单的动态规划的题目。# 每天可以分为四种情况。# 1,不持有股票,买入,2,不持有股票,不买入。3,持有股票,不卖出,4,持有股票,卖出# 那我们就可以根据四种情况来列动态方程。class Solution: def maxProfit( 阅读全文
posted @ 2020-11-08 13:15 月为暮 阅读(149) 评论(0) 推荐(0)
摘要:from typing import Listclass Solution: def validMountainArray(self, A: List[int]) -> bool: # 这道题我是我们需要分两段遍历,第一段从第一个到列表最大值, # 第二段从列表最大值,到列表最后一个。 # 定义指针 阅读全文
posted @ 2020-11-03 17:07 月为暮 阅读(139) 评论(0) 推荐(0)
摘要:class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next# 这道题还是很简单的,我们只需要两遍的遍历,找到链表中倒数第n的前一个,# 然后把n的前一个节点的next指向n的下一个节点,就 阅读全文
posted @ 2020-10-18 17:18 月为暮 阅读(163) 评论(0) 推荐(0)
摘要:# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = None# 这道题我们还是用双指针的办法,快指针f一次走两步,慢指针s一次走一步。# 如果两个指针相 阅读全文
posted @ 2020-10-10 09:53 月为暮 阅读(176) 评论(0) 推荐(0)
摘要:# Definition for singly-linked list.class ListNode: def __init__(self, x): self.val = x self.next = None# 这道题我们用快慢指针的方式可以很容易的就写出来。# 定义两个指针,一个指针一次走一步,另 阅读全文
posted @ 2020-10-09 09:36 月为暮 阅读(183) 评论(0) 推荐(0)
摘要:# Definition for a binary tree node.class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = rig 阅读全文
posted @ 2020-09-30 09:31 月为暮 阅读(210) 评论(0) 推荐(0)
摘要:# Definition for a binary tree node.class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Nonefrom typing import List# 首先我 阅读全文
posted @ 2020-09-25 09:56 月为暮 阅读(518) 评论(0) 推荐(0)
摘要:class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Nonea = TreeNode(0)b = TreeNode(0)c = TreeNode(0)d = TreeNode(0)a.le 阅读全文
posted @ 2020-09-23 20:40 月为暮 阅读(464) 评论(0) 推荐(0)