A与B地相距n米,一个人第一步只能前进1米或者后退1米,第二步只能前进2米或者后退2米,A走到B最少需要几步
有两种解法:
1、递归,实质是深度优先遍历,但是报栈溢出错误
2、利用队列实现广度优先遍历,可解
package Recursive;import java.util.LinkedList;
import java.util.Queue;public class OneStepTwoStep {/*** 问题描述:一个人第一步只能前进一米或者是后退一米11,第二步前进两米或者是后退两米,A地与B地相距n米,从A地走到B地需要几米* 递归解决*//*** 递归法* @param start 起始位置、初始值为0* @param end 终止位置,初始值为n* @param k 第一步可以前进k米,后退k米* @return*/public static int oneStep(int start, int end, int k){if(start == end){return 0;}else if(Math.abs(start - end) == k) {return 1;}else if((start - end) > k){//这种情况只能后退return oneStep(start - k , end, k + 1) + 1;}else if((end - start) > k){return oneStep(start + k, end, k + 1) + 1;}else {int frontStep = oneStep(start + k, e
A与B地相距n米,一个人第一步只能前进1米或者后退1米,第二步只能前进2米或者后退2米,A走到B最少需要几步相关推荐
- 求最少需要多少步可以变为Fibonacci数
目录 一.题目 二.思路 三.代码实现 一.题目 Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] ...
- 【蓝桥杯05】:小明每天都要练功,练功中的重要—项是梅花桩。小明练功的梅花桩排列成n行m列,相邻两行的距离为1,相邻两列的距离也为;小明想知道,在不掉下梅花桩的情况下,自己最少要多少步可以移动到目标。
问题描述: 小明每天都要练功,练功中的重要一项是梅花桩. 小明练功的梅花桩排列成n行m列,相邻两行的距离为1,相邻两列的距离也为1. 小明站在第1行第1列上,他要走到第 ...
- [JAVA]给你一个数N求最少需要多少步可以变为Fibonacci数
链接:https://www.nowcoder.com/questionTerminal/18ecd0ecf5ef4fe9ba3f17f8d00d2d66?pos=11&orderByHotV ...
- 第2章【思考与练习3】随机游走轨迹模拟。将随机游走的步数增加到100步,计算物体最终与原点的距离。重复多次随机游走过程,观察物体与原点距离的变化趋势。
P33思考练习题3 1.将随机游走的步数增加到100步,计算物体最终与原点的距离. #第1题 #模拟每步生成方向 import numpy as np steps = 100 rndwlk = np. ...
- 云米冰箱能控制扫地机器人_既能解放劳动力又能提升家庭幸福指数的小家电,云米互联网扫地机Pro开箱!...
既能解放劳动力又能提升家庭幸福指数的小家电,云米互联网扫地机Pro开箱! 2019-01-15 15:15:00 4点赞 7收藏 10评论 年底了两人工作都比较忙,周六经常还得去加个班,难得有个周日必 ...
- 一步一步学List Control控件的用法(第二步)----创建第一行
第二步 创建第一行 1. 在上一节中我们创建了一个列,那我们可以按照同样的方法多创建几个列.在 m_ListCtrl.InsertColumn(0, _T("姓名"), LVC ...
- 读书笔记之:《心流 最优体验心理学》 米哈里·契克森米哈赖 第一章、第二章
文章目录 心流是当一个人完全沉浸在某种活动中,无视其他事物存在的状态,这种体验本身会获得莫大的喜悦,使人愿意付出巨大的代价. 心流是一种最优体验,这种最优体验产生于一种自我掌控的感觉,虽然我们未必会在 ...
- 上台阶问题:一个人上台阶,一次可以走1、2、3步,问n个台阶有多少种走法?
#include <iostream> using namespace std;int func(int a) {if (a==1 || a==0){return 1;}if (a< ...
- 搭建普罗米修斯Prometheus监控系统
一.普罗米修斯监控概述 1.什么是普罗米修斯监控 Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合.适合监控docker容器.因为K8 ...
最新文章
- Docker核心技术之容器详解
- python3 byte_「Python3学习笔记」读书笔记—字节数组
- 原来颓废也是需要力气的
- 设计模式:单例模式之双重检查
- 知识图谱基础知识(一): 概念和构建
- 近世代数--环同态--环同态基本定理
- Nginx的启动、停止
- 微软准备开源PowerShell
- 阿里巴巴超大规模Kubernetes基础设施运维体系解读
- 虚拟机安装docker_Docker 从入门到放弃:新手学习笔记(上)
- 深度学习之TensorFlow
- Golang groupcache LRU 缓存简介与用法
- rocketmq消息存储原理_RocketMQ到底快在哪里?深入探索RocketMQ消息存储和查询原理...
- python可变参数的实验性_详解Python的三种可变参数
- android系统关闭wifi,Android以编程方式打开/关闭WiFi HotSpot
- Java俩个小球碰撞的代码_java实现小球碰撞功能
- aut0cad2010卸载工具_autocad2010官方版
- 这家估值83亿美元的公司,是「侠盗」还是「割韭菜」?
- ABO血型系统遗传规律表
- 百度富文本编辑器上传文件到OSS