func fibRecursive(n int)int{
if n==0{
return 0
}
if n==1{
return 1
}
return fibRecursive(n-1) + fibRecursive(n-2)
}
func fibDynamic(n int)int{
var arr = []int{0,1}
for i:=2;i<=n;i++{
arr = append(arr, arr[i-1]+arr[i-2])
}
return arr[n]
}
func fibDynamic2(n int)int{
var arr = []int{0,1}
var tmp int
for i:=2;i<=n;i++{
tmp = arr[1]
arr[1] = arr[0]+arr[1]
arr[0] = tmp
}
return arr[1]
}
func fibDoublePointer(n int)int{
var low = 0
var high = 1
for i:=2;i<=n;i++{
sum := low+high
low = high
high = sum
}
return high
}