清雨的自助餐(斐波那契数列的应用)
发布日期:2021-06-30 19:56:01
浏览次数:3
分类:技术文章
本文共 1204 字,大约阅读时间需要 4 分钟。
爱奇艺 2019校招 Android方向试卷在线考试
编程题|20.0分2/2
清雨的自助餐
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 131072KB;其他语言 655360KB题目描述:
清雨又在吃自助餐了。
排在清雨面前的有N种食物,排成一排,清雨可以选择其中的若干种食物,但是不能连续选择相邻的食物。因为清雨很挑食,当所有食物都不合口味时,他可以一种都不选,即一个都不选也算为一种方法。
请问他有多少种选择食物的方法呢?
输入
一个整数n(1 <= n <= 90)
输出
一个正整数表示答案
样例输入
3
样例输出
5
Hint
样例解释:有3种食物,方案为1、2、3、13、不选,共5种
思路:
刚开始以为深搜,然后发现到了最大90的时候运行出不来,超时。
结果一一列举发现,1个数字,选择或者不选,a[1]=2种情况
2个数字,1, 2, 不选,a[2]=3种情况
3个数字, 1, 2, 3, 13, 不选,a[3]=5种情况
4个数字,1, 2, 3, 4, 13, 14, 24, 不选,a[4]=8种情况
=========这不就是前两项和累加吗?斐波那契额啊
AC代码:
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n = cin.nextInt(); cin.close(); System.out.println(fibonacci(n)); } private static long fibonacci(int n) { long y1 = 2, y2 = 3, y3 = 5, y = 0; for (int i = 4; i <= n; ++i) { y = y3 + y2; y2 = y3; y3 = y; } if (n == 1) return y1; if (n == 2) return y2; if (n == 3) return y3; return y; }}
记住一定要返回为long,数据很大,用int只能通过21%
=======================Talk is cheap, show me the code==========================
转载地址:https://liuchenyang0515.blog.csdn.net/article/details/82889679 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月25日 09时39分33秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Java编码规范】《阿里巴巴Java开发手册(正式版)》发布!
2019-04-30
如何在二三线城市月薪过万(一)看完这篇后端简历优化,包你面试不断
2019-04-30
阿里P8大神教你十分钟构建好SpringBoot + SSM框架 成功晋升
2019-04-30
Linux运维-搭建高可用Redis缓存
2019-04-30
膜拜!阿里内部都在强推的K8S(kubernetes)学习指南,不能再详细了
2019-04-30
Linux 常用命令
2019-04-30
递归及应用
2019-04-30
Android之Handler机制篇
2019-04-30
Android之网络协议篇
2019-04-30
Android之RecyclerView篇
2019-04-30
Android之Retrofit基本用法篇
2019-04-30
Netty与网络协议资料整理
2019-04-30
Golang相关资源整理
2019-04-30
设置Golang的开发环境
2019-04-30
对HTTP/2的部分理解
2019-04-30
Golang 逃逸分析
2019-04-30
golang实现大数据量文件的排序
2019-04-30