剑指Offer——网易笔试题+知识点总结
Fibonacci
package cn.edu.ujn.nk;
import java.util.ArrayList;
import java.util.Scanner;
/**
* 费波纳茨数
* @author SHQ
*
*/
public class Finonacci {
/**
* @param args
*/
public static void main(String[] args) {
// System.out.println(fibonacci(30));
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int a = in.nextInt();
System.out.println(fibonacci(a));
}
}
private static int fibonacci(int target){
ArrayList<Integer> arr = new ArrayList<Integer>();
int min = 0;
int max = 0;
arr.add(0, 0);
arr.add(1, 1);
for(int i = 2; i < target; i++){
arr.add(i, arr.get(i-1)+arr.get(i-2));
if(arr.get(i) >= target){
min = target - arr.get(i-1);
max = arr.get(i) - target;
break;
}
}
return min > max ? max : min;
}
}
数字游戏
幸运的袋子
简答题
Java开发中如何防止内存泄漏?