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

时间限制: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. RTT设备与驱动之PWM
  2. vsftpd实现的FTP服务
  3. C++中const——由一个例子想到的
  4. ubutnu16.04搭建LAMP环境(搭建wordpress博客)
  5. Android下ListView的分页(9.6)
  6. Apache伪静态学习
  7. 新闻发布项目——实体类(newsTb)
  8. 笔记-计算机软件技术基础(一)资源管理技术-操作系统
  9. 新人如何聪明的学习计算机网络
  10. 使用iMazing创建配置文件时的几个重要首选项组
  11. 利用socket.io构建一个聊天室
  12. 巧用RoboCopy工具
  13. ios开发 各种字体
  14. 数据结构课程设计——药店的药品销售统计系统(排序应用)
  15. 《计算机操作系统(慕课版)》(汤小丹著)课后习题答案
  16. 网站优化后如何降低阿里云国际版服务器成本
  17. 【io】io等待为什么引发cpu过高?
  18. win系统服务器白名单,win10系统如何添加白名单 windows10下添加白名单的方法
  19. 顺序表专题(1)——顺序表
  20. 普通人如何在网上能月入3000以上

热门文章

  1. ThinkPHP源码阅读理解
  2. 408王道计算机组成原理强化——数据的运算及大题
  3. Hive sql中的 各种join(内连接、左外连接、右外连接、满外连接)
  4. 黑产侵蚀游戏生态体系应该怎么防护?
  5. 北斗无线网服务器,北斗网络时钟服务器_锐呈电气
  6. 超好用的电脑清理工具!
  7. happens-before 规则
  8. 别了,超人——黑曼巴!
  9. 报错 Resource gutenberg not found.Please use the NLTK Downloader to obtain the resource:
  10. 2020年软件测试的八大谬论