题目

m个苹果放在n个盘子中有多少种结果,前置条件:

允许存在空盘

重复的摆放结果忽略不计

根据题意,也就是有3种情况,的确完全重复的摆放方式是没多大意义的

思路

这题可以用枚举的描述方式进行尾递归求解:

情况一:

存在一个空盘,甚至没有苹果或一个苹果,直接返回 1

情况二:

连盘子或苹果都没有,直接返 0

情况三:

可能有n个盘子只摆放了一个苹果,m-n的摆放占位,剩下的苹果任意摆放

情况四:

可能n个盘子为空,n-1,减去这空盘,剩下的m个苹果随意放置

btw,存在一个以上的空盘摆放方式与图上的重复摆放方式是等价的,尾递归甚至效率并不比循环低,说了这么多,研究此类问的方法还是dp(动态规划)

将上述情况三、四二者相加就是总的所有方法(结果)

实现

package com.test.dp;

import org.junit.test;

public class appleondisktest {

@test

public void main(){

system.out.println(dp(5,0));

}

/**

*

* @param m apple

* @param n disk

* @return

*/

private int dp(int m,int n){

if (m <= 0 || n <= 0)

return 0;

if (m == 0 || n == 1)

return 1;

else

return dp(m-n,n) + dp(m,n-1);

}

}

模拟递归的方式求解方式

希望与广大网友互动??

点此进行留言吧!

java m个苹果n个篮子_m个苹果放在n个盘子中有多少种结果相关推荐

  1. 苹果风格ui设计_重新设计苹果音乐应用程序ui ux案例研究

    苹果风格ui设计 重点 (Top highlight) TLDR? UI重新设计 (TLDR? UI Redesign) I didn't realise how much I'd written f ...

  2. java基本数据类型_Java面试题Java中有几种基本数据类型?它们分别占多大字节?...

    点击上方"千锋Java学院",选择"置顶公众号" 每天一道面试模拟真题及解析 课前导读 ●回复"每日一练"获取以前的题目,持续更新! ●我希 ...

  3. 黑苹果找不到触控板_苹果App内测找不到苹果企业签名怎么办?

    在苹果App的内测阶段,很多开发者都会选择使用苹果企业签名来进行App内测,因为经过苹果企业签名添加信任的App可以不经过App Store和苹果系统的审核,直接安装到ios设备上去,所以苹果企业签名 ...

  4. 请回答一下Java中有几种线程池及实现过程?

    请回答一下Java中有几种线程池及实现过程? 1.newFixedThreadPool创建一个指定工作线程数量的线程池.每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将 ...

  5. Java的if判断对象为null时,null放在比较运算符的左边还是右边较好?

    如java中:if(name == null)和if(null == name)有什么讲究吗? 答:在java里面,它们是一样的.但是通常写为null == name.这其实是在C语言里面引申出来的. ...

  6. 苹果手机声音突然变小是怎么回事_苹果7通话声音小,苹果7听筒声音小怎么回事...

    苹果7通话声音小,苹果7听筒声音小怎么回事?比较简单的办法是打开设置-辅助功能-电话噪声消除.具体开启电话杂音消除步骤如下: 苹果7通话声音小,苹果7听筒声音小怎么回事 1.在"设置&quo ...

  7. 为什么苹果内购总是失败_苹果官网送货流程将改革,最快次日达丨iPhone6s 等钉子户终于要换手机了...

    文字编辑:XC丨插图来自于网络 苹果送货程序将改革 据外媒表示,苹果将利用零售店的库存来进行就近发货方式,主要目的就是为了减少用户收到货的时间. 在此之前,苹果官网下单的用户,无论是那个位置都将是总部 ...

  8. 苹果白屏一直显示苹果_最新消息显示:苹果还要发新品

    距离2020年结束已经进入了倒计时阶段,但最新消息显示苹果可能还会在这个最后的时间节点上召开一场新品发布会. 今日,有外媒援引一份苹果内部备忘录报道,称苹果通过内部备忘录向服务提供商发送通知,计划在美 ...

  9. Java基础部分快速复习(以前复习的时候放在自己的新浪博客上)

    工作后Java基本没有用到,有时候自己也会把基础过一遍,下面的链接是以前重温的时候整理的Java基础最核心部分的知识点和代码示例放在自己的新浪博客上,如果以后有需要,直接从这里进入,可以快速复习,节省 ...

  10. java if 赋值语句_Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似....

    Java中有一种特殊的赋值运算叫做三元运算,它和if-else语句类似. 答:√ 顺序阀在液压系统中起___作用 答:压力开关 断电后,机器人关节轴发生了位移,不需要更新转速计数器 答:× " ...

最新文章

  1. 反欺诈中所用到的机器学习模型有哪些?
  2. shell脚本之日志拆分和监听
  3. git id 切分支 按_Git分支本地操作详解
  4. TcpSocket编程与Event编写学习的好例子
  5. mysql5.6修改默认目录_MySQL修改默认存储路径
  6. AD20学习笔记2---原理图绘制及编译检查
  7. Web流程图绘制使用raphael
  8. java 7 40,Java 7u40 Java SE 8 sun.reflect.Reflection.getCallerClass
  9. python基础代码大全-python零基础入门命令方式汇总大全,快速恶补你的Python基础...
  10. 网络创新激活西部科技,戴尔2013软件定义网络圆桌会谈的启示
  11. AcWing 789. 数的范围
  12. 【优化算法】儿童绘画发展优化算法(CDDO)【含Matlab源码 1469期】
  13. 牛逼,我的单片机固件被人破解了
  14. 解决加载libqxcb.so失败以及Linux库搜索顺序
  15. 解决error mounted is not defined no-undef
  16. 被领导嘉奖了,该不该请同事吃饭?
  17. php使用redis在windows下配置方法
  18. dd-wrt无线设置_通过DD-WRT的高级技巧为无线路由器添加Linux功能
  19. php 图片合成,php原生图片合成和文字生成图片
  20. python引入同一目录下的py文件

热门文章

  1. 动态内存分配算法:首次适应算法,循环首次适应算法,最坏适应算法,最佳适应算法实现
  2. 抽奖随机滚动_如何在party上用来宾的照片抽奖
  3. python xlwt 写入Excel
  4. vi和nano实用操作
  5. 修改db_create_file_dest
  6. 恒玉佳壬二酸使用方法,15壬二酸能帮助祛痘吗
  7. Discuz最全的常见问题及故障整理
  8. HTB靶机:RainyDay
  9. Hacking EV3系列之七:iPhone 手势无线控制LEGO EV3 Gyro Boy 机器人
  10. 年终奖扣税方式1月1日起施行,程序员你还好吗?