算法题库
力扣 + 牛客同步题单 · 面试高频 · 每日轮换 · 多语言参考答案(北京时间 2026-08-13)
今日精选
零钱兑换
题目描述不同面值硬币无限枚,凑成 amount 最少枚数,无解返回 −1。
思路要点完全背包:dp[i]=min(dp[i−c])+1,BFS 亦可。
参考答案高亮:cdnjs highlight.js
/** 零钱兑换:完全背包 */
function coinChange(coins, amount) {
const dp = new Array(amount + 1).fill(amount + 1);
dp[0] = 0;
for (let i = 1; i <= amount; i++)
for (const c of coins) if (i >= c) dp[i] = Math.min(dp[i], dp[i - c] + 1);
return dp[amount] > amount ? -1 : dp[amount];
}今日题单(8 题)
已完成 0 / 8状态#题目通过率难度
6合并区间48%中等
26螺旋矩阵44%中等
22编辑距离29%困难
16零钱兑换43%中等
14岛屿数量56%中等
20单词搜索39%中等
13最长递增子序列28%中等
17买卖股票的最佳时机54%简单