
leetcode刷题笔记
leetcode题目思路和代码详解。
Milanien
这个作者很懒,什么都没留下…
展开
-
leetcode动态规划(二)70+746
1.70爬楼梯 1)状态转移方程 从第1个台阶到第n个台阶的方式:①从第1个台阶到第n-2个台阶,再从第n-2个台阶到第n个台阶②从第1个台阶到第n-1个台阶,再从第n-1个台阶到第n个台阶 M(n)=M(n-2)+M(n-1) 2)边界条件 M(1)=1,M(2)=2 3)python代码 class Solution: def climbStairs(self, n: int) -> int: if n <= 2: return原创 2022-03-10 09:00:00 · 124 阅读 · 0 评论 -
leetcode动态规划(一)509+1137
1.509斐波那契数-简单 1)状态转移方程 F(n)=F(n−1)+F(n−2) 2)边界条件 F(0)=0,F(1)=1 3)复杂度 时间复杂度:O(n) 空间复杂度:O(1) 2.1137第N个泰波那契数-简单 1)状态转移方程 Tn+3 = Tn + Tn+1 + Tn+2(n>=0) 2)边界条件 T0 = 0, T1 = 1, T2 = 1 3)复杂度 时间复杂度:O(n) 空间复杂度:O(1) 4)python代码 class Solution:原创 2022-03-09 21:06:56 · 447 阅读 · 0 评论 -
leetcode数据库刷题(四)
1.601体育馆的人流量-困难 1)使用lead和lag 2)id-row_number 2.620有趣的电影-简单 select * from cinema where description<>'boring' and id%2<>0 order by rating desc 3.626换座位-中等 1)case 2)位操作 3)lag和lead 4.627变更性别 update Salary set sex = case sex when "m"原创 2022-03-05 12:09:18 · 231 阅读 · 0 评论 -
leetcode数据库刷题(三)
原创 2022-03-04 12:58:35 · 389 阅读 · 0 评论 -
leetcode数据库刷题(二)
原创 2022-03-04 09:00:00 · 123 阅读 · 0 评论 -
leetcode数据库刷题(一)
1.175组合两个表-简单 使用outter join,获得两个表的并集。outter join包括left join和right join。left join表示左侧表所有记录都将返回,并且不满足匹配条件的右侧连接表记录将返回null。 mysql中inner join和outer join有什么区别? - 简书 2. 176第二高的薪水-中等 先排序再使用limit子句。 limit子句有两个参数,offset和count。offset表示返回的第一行的偏移量。count表示返回行数。 M.原创 2022-03-03 14:55:45 · 475 阅读 · 0 评论 -
leetcode206反转链表
1.题目描述 力扣 2.难度-简单 3.思路 1)暴力法 第1轮循环:链表第1个结点和第2至n个结点依次交换位置,使第1个结点成为最后一个结点。 第2轮循环:链表第1个结点和第2至n-1个结点依次交换位置,使第1个结点(链表原第2个结点)成为第n-1个结点。 以此类推,可将链表反转。 时间复杂度:O(n^2) 空间复杂度:O(1) 2)递归法 ①递归过程 反转除第一个结点之外的所有结点并得到新的头结点;将第一个结点的下一个结点的下一个结点设置为第一个结点(由第一个结点指向第二个结点原创 2022-03-02 16:05:48 · 505 阅读 · 0 评论 -
leetcode188买卖股票的时机Ⅳ
难度:困难 题目描述:力扣 思路:动态规划 1)定义状态 buy[i][j]:到第i天,进行j笔交易,并且持有一支股票的最大利润; sell[i][j]:到第i天,进行j笔交易,并且手上不持有股票的最大利润。 2)状态转移方程 第i-1天持有股票,或者第i-1天不持有股票,第i天买入。 buy[i][j]=max{buy[i−1][j],sell[i−1][j]−price[i]} 第i-1天不持有股票,或者第i-1天持有股票,第i天卖出。 sell[i][j]=max{sell[i−1转载 2022-02-14 14:41:48 · 84 阅读 · 0 评论 -
leetcode123买卖股票的时机III
难度:困难 题目描述 力扣 思路 动态规划 代码转载 2022-02-11 11:09:06 · 117 阅读 · 0 评论 -
leetcode122买卖股票的时机II
难度:中等 题目描述 力扣 思路 情况一:股票一直上涨,用最后一天的价格减去第一天的价格即为最大利润。 情况二:股票价格波动,找到所有未来价格和过去价格的差值之和。 情况三:股票一直下跌,利润为0。 寻找每次上升波动的价格最高点和最低点。 代码 ...原创 2022-02-09 11:12:00 · 310 阅读 · 0 评论 -
leetcode121买卖股票的时机
难度:简单 题目描述 力扣 思路 找到股票未来价格减去过去价格的最大差值,即为最大利润,若未来价格始终小于过去价格,则利润为0。 代码 1.穷举法 class Solution: def maxProfit(self, prices: List[int]) -> int: profit = 0 for i in range(len(prices)): for j in range(i+1,len(prices)): ..原创 2022-01-17 10:45:32 · 157 阅读 · 0 评论