Java-跳跃路线
2024-10-08 06:57:45
题目:
小明参加了学校的趣味运动会,其中的一个项目是:跳格子。地上画着一些格子,每个格子里写一个字,如下所示:
从我做起振
我做起振兴
做起振兴中
起振兴中华
比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。
要求跳过的路线刚好构成“从我做起振兴中华”这句话。请你帮助小明算一算他一共有多少种可能的跳跃路线呢?
思路:
仍然是采用递归,定义一个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的值越来越小,最后达到一个极限,这个极限就是递归的出口。看懂这几行代码后我是真的惊了,不得不承认自己是菜鸟[擦汗]
最新文章
- Docker的安装
- Andrew Ng机器学习公开课笔记 -- 学习理论
- 图片加载完后执行js
- 必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1
- AC自动机 - 多模式串的匹配运用 --- HDU 3065
- 无线路由器wds桥接技术+丢包率
- VK Cup 2012 Round 3 (Unofficial Div. 2 Edition)
- GWT中实现跳转及不同entrypoint怎么互相访问
- Linux 下最为人熟知的解压缩工具
- Java 枚举随笔
- install cuda5 on ubuntu12.04
- JS-将input输入框写入的小写字母全部转换成为大写字母的JS代码
- 算法竞赛之递归——输出1-n的所有排列
- 目标检测 IOU(交并比) 理解笔记
- Magic Stones CodeForces - 1110E (思维+差分)
- DLNg第三周:序列模型和注意力机制
- Netty 学习资料
- C语言 · 征税程序
- 这几天bug多,自我检讨一下
- [日常] MySQL的哈希索引和原理研究测试