专栏名称: 码农学习联盟
码农学习联盟,分享Java、Python、大数据、机器学习、人工智能等程序员必备技术,关注程序员技术能力提升、关爱程序员成长,50万+码农学习第一站!
今天看啥  ›  专栏  ›  码农学习联盟

算法面试题:放苹果

码农学习联盟  · 公众号  ·  · 2021-09-07 14:15
01故事起源把M个苹果放在N个盘子里,允许有的盘子空着不放,那么总共有多少种不同的分法呢?注:5,1,1和1,5,1是同一种分法,且102分析2.1苹果和盘子数量关系苹果和盘子的数量没有说明大小关系,那就意味着有3种情况:  苹果比盘子多苹果比盘子少苹果和盘子数量相同如果苹果多,那么一定会有盘子放超过一个苹果。如果盘子多,那么一定会有空盘子。如果相等,情况就不一定。2.2判断分法是否相同所有的苹果是相同的,所有的盘子也是相同的,所以他们本身是无序的。其实这个问题就是把M个苹果分成不超过N堆,总共有多少种分法。所以可先按每堆苹果数量排序,依次比较每一堆的苹果,如果所有堆都一样才是相同的分法。这也就意味着堆数肯定相同,然后 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照