有两种解法:

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最少需要几步相关推荐

  1. 求最少需要多少步可以变为Fibonacci数

    目录 一.题目 二.思路 三.代码实现 一.题目 Fibonacci数列是这样定义的: F[0] = 0 F[1] = 1 for each i ≥ 2: F[i] = F[i-1] + F[i-2] ...

  2. 【蓝桥杯05】:小明每天都要练功,练功中的重要—项是梅花桩。小明练功的梅花桩排列成n行m列,相邻两行的距离为1,相邻两列的距离也为;小明想知道,在不掉下梅花桩的情况下,自己最少要多少步可以移动到目标。

    问题描述: 小明每天都要练功,练功中的重要一项是梅花桩.         小明练功的梅花桩排列成n行m列,相邻两行的距离为1,相邻两列的距离也为1.         小明站在第1行第1列上,他要走到第 ...

  3. [JAVA]给你一个数N求最少需要多少步可以变为Fibonacci数

    链接:https://www.nowcoder.com/questionTerminal/18ecd0ecf5ef4fe9ba3f17f8d00d2d66?pos=11&orderByHotV ...

  4. 第2章【思考与练习3】随机游走轨迹模拟。将随机游走的步数增加到100步,计算物体最终与原点的距离。重复多次随机游走过程,观察物体与原点距离的变化趋势。

    P33思考练习题3 1.将随机游走的步数增加到100步,计算物体最终与原点的距离. #第1题 #模拟每步生成方向 import numpy as np steps = 100 rndwlk = np. ...

  5. 云米冰箱能控制扫地机器人_既能解放劳动力又能提升家庭幸福指数的小家电,云米互联网扫地机Pro开箱!...

    既能解放劳动力又能提升家庭幸福指数的小家电,云米互联网扫地机Pro开箱! 2019-01-15 15:15:00 4点赞 7收藏 10评论 年底了两人工作都比较忙,周六经常还得去加个班,难得有个周日必 ...

  6. 一步一步学List Control控件的用法(第二步)----创建第一行

    第二步  创建第一行 1.  在上一节中我们创建了一个列,那我们可以按照同样的方法多创建几个列.在 m_ListCtrl.InsertColumn(0, _T("姓名"), LVC ...

  7. 读书笔记之:《心流 最优体验心理学》 米哈里·契克森米哈赖 第一章、第二章

    文章目录 心流是当一个人完全沉浸在某种活动中,无视其他事物存在的状态,这种体验本身会获得莫大的喜悦,使人愿意付出巨大的代价. 心流是一种最优体验,这种最优体验产生于一种自我掌控的感觉,虽然我们未必会在 ...

  8. 上台阶问题:一个人上台阶,一次可以走1、2、3步,问n个台阶有多少种走法?

    #include <iostream> using namespace std;int func(int a) {if (a==1 || a==0){return 1;}if (a< ...

  9. 搭建普罗米修斯Prometheus监控系统

    一.普罗米修斯监控概述 1.什么是普罗米修斯监控 Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合.适合监控docker容器.因为K8 ...

最新文章

  1. Docker核心技术之容器详解
  2. python3 byte_「Python3学习笔记」读书笔记—字节数组
  3. 原来颓废也是需要力气的
  4. 设计模式:单例模式之双重检查
  5. 知识图谱基础知识(一): 概念和构建
  6. 近世代数--环同态--环同态基本定理
  7. Nginx的启动、停止
  8. 微软准备开源PowerShell
  9. 阿里巴巴超大规模Kubernetes基础设施运维体系解读
  10. 虚拟机安装docker_Docker 从入门到放弃:新手学习笔记(上)
  11. 深度学习之TensorFlow
  12. Golang groupcache LRU 缓存简介与用法
  13. rocketmq消息存储原理_RocketMQ到底快在哪里?深入探索RocketMQ消息存储和查询原理...
  14. python可变参数的实验性_详解Python的三种可变参数
  15. android系统关闭wifi,Android以编程方式打开/关闭WiFi HotSpot
  16. Java俩个小球碰撞的代码_java实现小球碰撞功能
  17. aut0cad2010卸载工具_autocad2010官方版
  18. 这家估值83亿美元的公司,是「侠盗」还是「割韭菜」?
  19. ABO血型系统遗传规律表
  20. 百度富文本编辑器上传文件到OSS

热门文章

  1. (无坑、直接的C++小代码)空间三点计算平面方程参数
  2. 台服大航海OL竟然要合服?!看来要稍微应付一下了……
  3. qt+zint实现打印一维条形码
  4. CISA提醒修复这些严重的ICS漏洞
  5. 开发Web应用的常见技术
  6. ShareSDK 开发过程中常见问题
  7. 结构与算法分享排序规则与查找算法
  8. 【Web前端期末大作业 网页html+css+javascript网页设计 音乐app介绍】
  9. ThinkPad X1 Tablet键盘改USB接口
  10. 【C++初阶11-模版进阶】解锁C++模版更多玩法