网易笔试:Fibonacci数列
来源:互联网 发布:孤独大脑 喻颖正 知乎 编辑:程序博客网 时间:2024/06/10 00:25
网易笔试:Fibonacci数列
题目描述
Fibonacci数列是这样定义的:
F[0] = 0
F[1] = 1
for each i ≥ 2: F[i] = F[i-1] + F[i-2]
因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。输入描述:
输入为一个正整数N(1 ≤ N ≤ 1,000,000)
输出描述:
输出一个最小的步数变为Fibonacci数”
示例1
输入15
输出2
思路:
考察Fibonacci数列的变形
import java.util.*;public class Main { public static int solution(int n) { int a = 0; int b = 1; while(a + b <= n) { a = a + b; b = a + b; } return Math.min( Math.min(Math.abs(n-a), Math.abs(n-b)), Math.abs(n-a-b)); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int result = solution(n); System.out.println(result); }}
阅读全文
0 0
- 网易笔试:Fibonacci数列
- 网易笔试编程-Fibonacci数列
- 2017年网易互联网内推笔试题-Fibonacci数列
- 网易笔试编程题——Fibonacci数列
- 网易2017内推笔试2:Fibonacci数列 [python]
- 网易 Fibonacci数列
- 网易Fibonacci数列
- 网易—Fibonacci数列
- 网易算法题--Fibonacci数列
- Fibonacci数列----网易2017内推笔试编程题合集(二)
- 网易笔试题 Fibobacci数列
- 2017网易校招:Fibonacci数列
- 笔试面试题之Fibonacci数列
- 网易笔试:小易喜欢的数列
- 2018网易笔试编程题----重排数列
- 2018网易笔试编程题----重排数列
- Fibonacci数列
- Fibonacci数列
- 8.9 排队的奶牛 2494
- pytorch: 常见bug与debug
- 杭电ACM1587 买花,,气人
- DML DDL
- git提交时候报错
- 网易笔试:Fibonacci数列
- ERROR 1366 (HY000): Incorrect string value-解决方案
- Android 消息机制(Handler、Looper和MessageQueue)
- LeetCode 90 SubsetsII (Python详解及实现)
- [手工转载]Entity Framewor 实现 (include + where)条件过滤
- 三种人工智能开源框架
- 程序的灵魂----算法(一)
- NYOJ 257 郁闷的C小加(一)
- 高级数据结构 | 线段树的入门与入门