LeetCode
东都大白兔
草原上最美的花
展开
-
LeetCode 309 股票买卖含冷冻期 动态规划(多种情况)——python
309. 最佳买卖股票时机含冷冻期难度中等671给定一个整数数组,其中第i个元素代表了第i天的股票价格 。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。我们用 f[i] 表示第 i 天结束之后的「累计最大收益」。根据题目描述,由于我们最多只能同时买入(持有)一支股票,并且卖出股票后有冷冻期的限...原创 2021-02-05 17:03:54 · 890 阅读 · 0 评论 -
二叉树最大深度/宽度——层序遍历 python
题目https://leetcode-cn.com/problems/maximum-width-of-binary-tree/https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/深度——DFS# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x#原创 2021-02-03 13:35:55 · 1119 阅读 · 1 评论 -
LeetCode 剑指offer 13—— Python BFS,队列(queue)与列表,set()计数
剑指 Offer 13. 机器人的运动范围难度中等204收藏分享切换为英文接收动态反馈地上有一个m行n列的方格,从坐标[0,0]到坐标[m-1,n-1]。一个机器人从坐标[0, 0]的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?BFS...原创 2021-01-24 00:21:15 · 308 阅读 · 2 评论 -
python 列表(list)和字典(dic)速度快慢
以 LeetCode剑指 Offer 03. 数组中重复的数字为例找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3使用列表:class Solution: def findRepeatNumber(self, nums: List[...原创 2021-01-14 00:10:43 · 2997 阅读 · 5 评论 -
二分(折半)查找——以 LeetCode 35题为例
来自LeetCode每日一题,最近恰好在复习数据结构,所以整理一下二分查找#include<iostream>#include<vector>using namespace std;class Solution {public: int searchInsert(vector<int>& nums, int target) { int length = nums.size(); int low = 0, hi原创 2020-07-17 22:32:37 · 204 阅读 · 0 评论 -
LeetCode.938——Python二叉搜索树深度遍历(DFS)迭代及递归(栈)实现
二叉搜索树二叉排序树,每个节点的 left < node < right递归实现深度优先搜索版本一对于每个节点进行递归,并判断是否符合情况注意 node 有可能为 None,所以要判断 if node# Definition for a binary tree node.class TreeNode: def __init__(self, x): ...原创 2020-02-06 20:38:20 · 899 阅读 · 0 评论 -
LeetCode.1323——Python中range用法的注意事项
class Solution: def maximum69Number (self, num: int) -> int: num2 = num for e in range(3, -1, -1): ele = 10**e if num2 // ele == 6: return (num+3*ele) num2 =...原创 2020-02-06 17:30:31 · 1015 阅读 · 0 评论 -
LeetCode.237——Python的链表的节点删除
题目描述很坑给出要删除的node,将其删除(在这里是5)方法一开始想到用 1 来代替 5,即5的节点和值全都变成1的然后用 9 来代替 1 的位置,依次循环,最后将最后一个删除# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self....原创 2020-02-06 16:49:02 · 340 阅读 · 0 评论 -
leetcode.1313 —— 解压缩编码列表(zip函数、Python中sum各种用法)
解法一简单的进行遍历class Solution: def decompressRLElist(self, nums: List[int]) -> List[int]: ans = [] for i in range(len(nums)//2): ans += [nums[2*i+1]] * nums[2*i] return ans...原创 2020-02-02 22:14:39 · 314 阅读 · 0 评论