BY Blog

とことんまで戦う

leetcode322零钱兑换

leetcode322 Coin Change

前言 新的一年,好好学习。 正文 问题来源 本问题来自leetcode上的322题。 问题描述 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 ...

leetcode486预测赢家

leetcode486 Predict the Winner

前言 新的一年,好好学习。 正文 问题来源 本问题来自leetcode上的486题。 问题描述 给定一个表示分数的非负整数数组。 玩家1从数组任意一端拿取一个分数,随后玩家2继续从剩余数组任意一端拿取分数,然后玩家1拿,……。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。 给定一个表示分数的数组,预测玩家1是...

leetcode464我能赢吗

leetcode464 Can I Win

前言 新的一年,好好学习。 正文 问题来源 本问题来自leetcode上的464题。 问题描述 在 “100 game” 这个游戏中,两名玩家轮流选择从 1 到 10 的任意整数,累计整数和,先使得累计整数和达到 100 的玩家,即为胜者。 如果我们将游戏规则改为 “玩家不能重复使用整数” 呢? 例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的整数(不放回),直到累计...

leetcode402移掉K位数字

leetcode402 Remove K Digits

前言 新的一年,好好学习。 正文 问题来源 本问题来自leetcode上的402题。 问题描述 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 示例 1: 输入: num = "1432219", k = 3 输出: "1219" 解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。 示例 2: 输入: n...

leetcode292Nim 游戏

leetcode292 Nim Game

前言 新的一年,好好学习。 正文 问题来源 本问题来自leetcode上的292题。 问题描述 你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例 1: 输入: 4 输出: fal...

leetcode376摆动序列

leetcode376 Wiggle Subsequence

前言 新的一年,好好学习。 正文 问题来源 本问题来自leetcode上的376题。 问题描述 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。 例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5]...

leetcode19删除链表的倒数第N个节点

leetcode19 Remove Nth Node From End of List

前言 新的一年,好好学习。 正文 问题来源 本问题来自leetcode上的19题。 问题描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例 1: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 分析: 空间换时间 /** * ...

矩阵连乘问题

Matrix multiplication

前言 新的一年,好好学习。 正文 问题来源 本问题来自看书时有个问题是求矩阵相乘的最小次数,之前算法课老师有讲这个问题(使用的教材是《计算机算法分析与设计》王晓东版)。当时是弄懂了,现在又忘了,借此机会来温故一下。 问题描述 给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2 ,…,n-1。如何确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要...

leetcode76最小覆盖子串

leetcode76 Minimum Window Substring

前言 新的一年,好好学习。 正文 问题来源 本问题来自leetcode上的76题。 问题描述 给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。 如果 S 中不存这样的子串,则返回空字符串 ““。 如果 S 中存在这样的子串,我们保证它是唯一的答案。 示例 1: 输入: S = "ADOBECODEBANC", T = "ABC" 输出: "...

leetcode135分发糖果

leetcode135 Candy

前言 新的一年,好好学习。 正文 问题来源 本问题来自leetcode上的135题。 问题描述 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。 那么这样下来,老师至少需要准备多少颗糖果呢? 示例 1...