zoukankan      html  css  js  c++  java
  • 斐波那契数列第N位的值(N从0开始)-基于Go

    • 递归
    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
    }
    
  • 相关阅读:
    重写Override和重加载Overload
    Java 继承
    poj 3263 Tallest Cow
    矩阵求和
    全排列
    最大乘积
    三角形面积
    Sum
    搭积木
    调手表
  • 原文地址:https://www.cnblogs.com/pangqianjin/p/14629558.html
Copyright © 2011-2022 走看看