-----------------------------------------------------------------------------------------------------------

时间限制:1秒  空间限制:32768K  代码长度限制 100 KB

-----------------------------------------------------------------------------------------------------------

题目描述:
NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来;并且,所有人在这家店吃了两天早餐后,接下来每天都会带一位新朋友一起来品尝。
于是,这家店的客人从最初一个人发展成浩浩荡荡成百上千人:1、1、2、3、5……
现在,NowCoder想请你帮忙统计一下,某一段时间范围那他总共卖出多少份早餐(假设每位客人只吃一份早餐)。。
输入描述:
测试数据包括多组。
每组数据包含两个整数from和to(1≤from≤to≤80),分别代表开店的第from天和第to天。
输出描述:
对应每一组输入,输出从from到to这些天里(包含from和to两天),需要做多少份早餐。
输入例子:
1 10
2 8
36 80
输出例子:
143
53
61305790697453774

-----------------------------------------------------------------------------------------------------------

实现思路:
(1).典型的斐波那契数列,写出递归求第N项的值;
(2).循环从form到to,逐一加和即可;
(3).需要注意的是,该题不能直接递归调用求结果,会超时,有两个方法处理,第一种是,先把结果算出来用数组保存,然后根据对应的N值,直接获取对应的兔子数;一种是用map记录哪些N是计算过的,直接保存下来,不反复去计算。

-----------------------------------------------------------------------------------------------------------

package com.biyao.algorithm.niuke.a2;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main_a2_004 {public static Map<Integer,Long> map = new HashMap<Integer,Long>();public static void main(String[] args) {Scanner scan = new Scanner(System.in);while(scan.hasNextInt()){int from = scan.nextInt();int to = scan.nextInt();long count = 0;for (int i = from; i <= to; i++) {count = count + getRabbitNum(i);}System.out.println(count);}}public static long getRabbitNum(int n){if(n == 1){return 1;}else if(n == 2){return 1;}else{if(map.containsKey(n)){return map.get(n);}else{map.put(n, getRabbitNum(n-1) + getRabbitNum(n-2));}return map.get(n);}}}

算法题练习系列之(三十七): 客似云来相关推荐

  1. 【SQL开发实战技巧】系列(三十七):数仓报表场景☞从表内始终只有近两年的数据,要求用两列分别显示其中一年的数据聊行转列隐含信息的重要性

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  2. 牛客刷题篇:客似云来 和 剪花布条(Java)

    目录 题目一:客似云来 输入描述 输出描述 解题思路 代码 题目二:剪花布条 输入描述 输出描述 解题思路 代码 题目一:客似云来 链接:客似云来 NowCoder开了一家早餐店,这家店的客人都有个奇 ...

  3. 【每日一题】客似云来(斐波那契数列)

    [每日一题]客似云来(斐波那契数列) 文章目录 [每日一题]客似云来(斐波那契数列) 1.题目来源 2.题目描述 3.输入/出描述 4.解题思路 5.代码展示 1.题目来源   牛客网:客似云来 2. ...

  4. [每日一题] 66. 客似云来(fib数列公式)

    1. 题目来源 链接:客似云来 来源:牛客网 2. 题目说明 NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好:他们只要来这家店吃过一次早餐,就会每天都过来:并且,所有人在这家店吃了两天早 ...

  5. 刷题_33:剪花布条 and 客似云来

    一.剪花布条 题目链接: 剪花布条 题目描述: 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? 输入描述 ...

  6. Day 33 剪花布条+客似云来

    目录 1.剪花布条 2.客似云来 1.剪花布条 链接:剪花布条__牛客网 来源:牛客网 [编程题]剪花布条 热度指数:1327 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M, ...

  7. 客似云来_如何通过将本地文件卸载到云来节省驱动器空间

    客似云来 If you're thinking about buying a new hard drive because you're running out of capacity, you ca ...

  8. (剪花布条、客似云来)笔试强训

    博主简介:想进大厂的打工人 博主主页:@xyk: 所属专栏: JavaEE初阶 两道编程题~~~ 目录 文章目录 一.[编程题]客似云来 二.[编程题]剪花布条 一.[编程题]客似云来 链接:客似云来 ...

  9. 【Java版oj】day33剪花布条、客似云来

    目录 一.剪花布条 (1)原题再现 (2)问题分析 (3)完整代码 二.客似云来 (1)原题再现 (2)问题分析 (3)完整代码 一.剪花布条 (1)原题再现 剪花布条__牛客网         一块 ...

  10. 笔试强训day33(客似云来,剪花布条)

    目录 第一题-剪花布条 第二题-客似云来 第一题-剪花布条 思路: 遍历s,利用find函数在s中寻找t,找到了,计数++,同时将找到的字符串t在s中删除,直到遇到npos结束遍历 // write ...

最新文章

  1. 【Android游戏开发十五】关于Android 游戏开发中 OnTouchEvent() 触屏事件的性能优化笔记! .
  2. Cloud Programming Simplifie : A Berkeley View on Serverless Computing
  3. 初步了解BIM模型和超图相关操作
  4. cisco交换机命令大全(5)
  5. win10很多软件显示模糊_win10安装软件出现乱码怎么办 win10新装软件显示乱码的解决方法_windows10_Windows系列_操作系统...
  6. 恒大全国降价,最低74折,接下来会有其他楼盘跟进降价吗?
  7. android常犯错误记录(一)
  8. signature=c0c1b69f720d190a4a817d6bf2ff57c3,Fungicidal substituted N-(1-iodopropargyl)thiazolidinones
  9. python按哪个键删除_Python-从字典中删除键的方法
  10. 省级面板数据(2000-2019)三:人口比、抚养比、就业、失业、离婚、教育(stata版)
  11. idea 无法找到要转到的声明
  12. hive分隔符_hive分隔符总结
  13. 装的机械硬盘计算机里没有反应,固态硬盘和机械硬盘运行打开我的计算机图标,有时候读取没有响应,单独用固态硬盘是没问题的 ,机械硬盘也测试了,没有坏道什么的,始终找不到原因...
  14. R 语言 ARMA 建模
  15. 用python编写名片_python实现简单名片管理系统
  16. 关于webrtc的多人视频会议的杂乱记录
  17. MySQL8.0.26安装配置教程(windows 64位)
  18. python数据分析--金融数据处理
  19. 计算机的构成有时也划分,计算机应用基础第一次作业答案
  20. ZkClient之读取数据。

热门文章

  1. [高通MSM8953_64][Android10]默认关闭蓝牙以及开启蓝牙状态栏不显示图标
  2. 7、Java四种进制及位运算介绍
  3. 【短视频运营】短视频剪辑 ④ ( 将文字转音频添加到视频中 | 编辑 TTS 音频信息 | 组合重叠人声音频添加 | 音频爆音处理 )
  4. 使用nginx+lua实现web项目的灰度发布
  5. 怎么生成二维码彩色版
  6. Element 横向表格
  7. csgo开箱盲盒支付接口如何申请?
  8. 浅谈优秀程序员电脑环境配置
  9. 40多岁,失业负债,我该怎么办?
  10. t在c语言中的作用,c语言中\t是什么意思