算法
李柏林
这个作者很懒,什么都没留下…
展开
-
golang实现斐波那契数列(兔子问题)
斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。 斐波那契数列指的是这样一个数列 1, 1, 2,...原创 2018-06-02 14:09:51 · 1252 阅读 · 0 评论 -
重建二叉树(Golang)《剑指offer》
题目描述: 输入某个二叉树的前序遍历和中序遍历的结果,请重建该二叉树。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如:输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建如图所示的二叉树并输出它的头节点。 主要代码如下: type BinaryTreeNode struct { Value int LeftNode...原创 2019-07-20 18:32:06 · 565 阅读 · 0 评论 -
旋转数组的最小数字(Golang)《剑指offer》
题目描述: 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如:数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 注意:本题中应充分考虑特殊情况 func finMinNum(nums []int) int { if len(nums) == 0 { return -1 ...原创 2019-08-02 17:33:43 · 374 阅读 · 0 评论 -
打印从1到最大的n位数(Golang)《剑指offer》
题目描述 题目:输入数字n,按顺序打印从1到最大的n位十进制数。比如输入3,则打印出1,2,3一直到最大的3位数999。 func Print1ToMaxOfDigits(n int) { if n <= 0 { return } number := make([]int, n) for i := 0; i < 10; i++ { number[0] = i pr...原创 2019-09-22 19:59:17 · 546 阅读 · 0 评论