首页 > 编程语言 > 详细

Java-跳跃路线

时间:2020-01-17 19:59:32      阅读:80      评论:0      收藏:0      [点我收藏+]

题目:

小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:

从我做起振
我做起振兴
做起振兴中
起振兴中华

比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束

要求跳过的路线刚好构成“从我做起振兴中华”这句话
请你帮助小明算一算他一共有多少种可能的跳跃路线呢?

思路:

 仍然是采用递归,定义一个fun方法,里面两个参数x,y分别表示横纵坐标。按照题目的要求,最开始的坐标为(5,4),向右走y不变,x-1;向下走x不变,y-1。自(5,4)向右走,方法有p中,自(5,4)往下走方法有q种,则总方法数应当为p+q,因此组成完整话语的方法是f(x-1,y)+f(x,y-1);出口则应该设置为当x=1 or y=1,因为此时,从这点到达(1,1)的方法仅一种,即向下(当x=1),向右(y=1)

源代码:

技术分享图片

运行结果:

技术分享图片

 递归就是把一个大任务递归为多个相似的小任务,即寻找相似性,随着x和y的值越来越小,最后达到一个极限,这个极限就是递归的出口。看懂这几行代码后我是真的惊了,不得不承认自己是菜鸟[擦汗]

Java-跳跃路线

原文:https://www.cnblogs.com/Cocoon-z/p/12207025.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!