0%

给定一个整数矩阵,找出最长递增路径的长度。
对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。(就是非常经典的滑雪题)

阅读全文 »

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第i件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。

阅读全文 »

给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。

阅读全文 »

给定一个表示分数的非负整数数组。 玩家1从数组任意一端拿取一个分数,随后玩家2继续从剩余数组任意一端拿取分数,然后玩家1拿,……。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。
给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。

阅读全文 »

练习了一下双指针,单调栈。三道简单,三道困难。分别是两数之和 II - 输入有序数组,合并两个有序数组,最小栈,最长有效括号,柱状图中最大的矩形,接雨水。难度着实有点大。

阅读全文 »

多重背包模型如下:
有 N 种物品和一个容量是 M 的背包。第 i 种物品最多有 \(C_i\) 件,每件体积是 \(V_i\),价值是 \(W_i\)。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。

阅读全文 »