LeetCode
文章平均质量分 54
ypxpy
这个作者很懒,什么都没留下…
展开
-
【Python】二叉树遍历非递归算法
class Node: def __init__(self, num): self.left = None self.right = None self.val = num1. 先序遍历根左右def inOrderTraverse(root): p, stack = root, [] res = [] while p or len(stack) != 0: if p: stack.append(p) res.append(p.val) p = p.left原创 2021-06-22 22:31:07 · 463 阅读 · 1 评论 -
LeetCode 旋转排序数组 (二分查找)
一. LeetCode 153.寻找旋转排序数组最小值153.寻找旋转排序数组最小值1. 问题描述给你一个整数数组 nums ,和一个整数 target 。该整数数组原本是按升序排列,但输入时在预先未知的某个点上进行了旋转。(例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请你在数组中搜索 target ,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。2. 问题分析最直观的方法 return min(nums) , 时间复杂度为O(n)原创 2020-11-29 18:58:22 · 532 阅读 · 0 评论 -
LeetCode 【回文】专题
LeetCode上有很多跟回文相关的题目,面试中应该也会经常遇到,所以我将一些有关回文的算法题记录下来,以便以后回顾。而大部分题都与动态规划有关:动态规划思考思路:首先建立状态信息,即dp[i]到底代表什么信息然后思考转移方程,即dp[i]与前面状态如dp[i-1]究竟有什么关系。建立关系后,思考初始状态,通过转移方程进行迭代。1.最长回文子序列516. 最长回文子序列标签...原创 2020-04-21 19:23:29 · 216 阅读 · 0 评论 -
LeetCode 486. 预测赢家(记忆化搜索 / 动态规划)
LeetCode 链接LeetCode 486ps:最近发现记忆化搜索真的好用哈~~一、问题描述给定一个表示分数的非负整数数组。 玩家1从数组任意一端拿取一个分数,随后玩家2继续从剩余数组任意一端拿取分数,然后玩家1拿,……。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢...原创 2020-04-14 16:03:57 · 272 阅读 · 0 评论 -
LeetCode 312. 戳气球 (记忆化搜索 / 动态规划)
LeetCode链接LeetCode 312一、问题描述有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后...原创 2020-04-13 16:06:38 · 399 阅读 · 0 评论 -
LeetCode 5383. 给 N x 3 网格图涂色的方案数
LeetCode链接LeetCode 5383一、问题描述你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就是有相同水平边或者垂直边的格子颜色不同)。给你网格图的行数 n 。请你返回给 grid 涂色的方案数。由于答案可能会非常大,请你返回答案对 10^9 + 7 取余的结果。示例1:示例2:二、问题分析...原创 2020-04-12 15:27:44 · 2010 阅读 · 0 评论