面某某服二面原题,在经过面试官提示后(还故意试探给我留坑:可以用数组保留啥),要达到时间复杂度和空间复杂度最小
自己最开始想的是递归,面试官说不让那么搞
/**
*
* @param n int整型
* @return int整型
*
* C语言声明定义全局变量请加上static,防止重复定义
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
int Fibonacci(int n ) {
// write code here
if (n < 3)
{
return 1;
}
int num1 = 1;
int num2 = 1;
int ret = num1 + num2;
for (int i = 3; i <= n; i++)
{
ret = num1 + num2;
num1 = num2;
num2 = ret;
}
return ret;
}