【今晚八点】牛课堂在线讲座,提升你的算法!
今晚八点:牛课堂在线讲座算法http://www.nowcoder.com/live/11
以下是题目预告:
斐波那契系列问题的递归和动态规划
【题目】
给定整数N,返回斐波那契数列的第N项。
【补充题目1】
给定整数N,代表台阶数,一次可以跨2个或者1个台阶,返回有多少种走法。
【举例】
N=3,可以三次都跨1个台阶;也可以先跨2个台阶,再跨1个台阶;还可以先跨1个台阶,再跨2个台阶。所以有三种走法,返回3。
【补充题目2】
假设农场中成熟的母牛每年只会生1头小母牛,并且永远不会死。第一年农场有1只成熟的母牛,从第二年开始,母牛开始生小母牛。每只小母牛3年之后成熟又可以生小母牛。给定整数N,求出N年后牛的数量。
换钱的最少货币数
【题目】
给定数组arr,arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求组成aim的最少货币数。
【举例】
arr=[5,2,3],aim=20。
4张5元可以组成20元,其他的找钱方案都要使用更多张的货币,所以返回4。
arr=[5,2,3],aim=0。
不用任何货币就可以组成0元,返回0。
arr=[3,5],aim=2。
根本无法组成2元,钱不能找开的情况下默认返回-1。
【补充题目】
给定数组arr,arr中所有的值都为正数。每个值仅代表一张钱的面值,再给定一个整数aim代表要找的钱数,求组成aim的最少货币数。
【举例】
arr=[5,2,3],aim=20。
5元、2元和3元的钱各有1张,所以无法组成20元,默认返回-1。
arr=[5,2,5,3],aim=10。
5元的货币有2张,可以组成10元,且该方案所需张数最少,返回2。
arr=[5,2,5,3],aim=15。
所有的钱加起来才能组成15元,返回4。
arr=[5,2,5,3],aim=0。
不用任何货币就可以组成0元,返回0。
左神说了:如果讲的开心就再加一道~(大家多多支持哦~)
可能加的题:
换钱的方法数
【题目】
给定数组arr,arr中所有的值都为正数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数aim代表要找的钱数,求换钱有多少种方法。
【举例】
arr=[5,10,25,1],aim=0。
组成0元的方法有1种,就是所有面值的货币都不用。所以返回1。
arr=[5,10,25,1],aim=15。
组成15元的方法有6种,分别为3张5元、1张10元+1张5元、1张10元+5张1元、10张1元+1张5元、2张5元+5张1元和15张1元。所以返回6。
arr=[3,5],aim=2。
任何方法都无法组成2元。所以返回0。