![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
解题
Healist
积极向上的小年轻,努力提高的小码农
展开
-
DFS的灵活应用二:零钱兑换
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1 思路:数组整体降序排列,然后dfs深度遍历,每次都挑额度大的先拿,以目前金额能拿多少就拿多少,拿多了就回溯走其他情况,相当于要把全部情况走一遍找到最小次数 代码设计中比较好的点: 有的回溯是要在递归的后面做额外补偿,此处的回溯是基于...原创 2020-03-25 22:26:41 · 295 阅读 · 0 评论 -
阿里校招编程打牌题--DFS的灵活应用以及设计思路分析
可能在公司业务代码写的恶心了需要看看清新的内容,看了下昨天阿里校招实习的题目,题目内容: (看别人解题逻辑来启发自己,代码是别人的,思路是我总结的) 有一叠扑克牌,每张牌介于1和10之间 有四种出牌方法: 单出1张 出2张对子 出五张顺子,如12345 出三连对子,如112233 给10个数,表示1-10每种牌有几张,问最少要多少次能出完 分析思路:出牌方式有很多种,所以需要把每种出牌方式的...原创 2020-03-21 16:06:06 · 815 阅读 · 0 评论