最强解析面试题:Goland 并发版斐波那契数列

Posted 魏小言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最强解析面试题:Goland 并发版斐波那契数列相关的知识,希望对你有一定的参考价值。


最强解析面试题:Goland 并发版斐波那契数列

文章讲解 “ Goland 并发版斐波那契数列 ” 经典面试题,包含思路及源码,及解惑!

题目

Goland 并发版斐波那契数列

思路

将斐波那契的范式拆分成 不同的 goroutine 执行。

代码

package main

import "fmt"

func main () 
    ch:=make(chan int)
    go Feibo(5,ch)
    fmt.Println("hello https://tool.lu/:",<-ch)


func Feibo(n int,ch chan<-int)
    if n <= 0
        ch <- 0
    else if n < 3 
        ch <- 1
    else
        ch1:=make(chan int)
        go Feibo(n-1,ch1)
        fmt.Println("goroutine ch1")
        ch2:=make(chan int)
        go Feibo(n-2,ch2)
        fmt.Println("goroutine ch2")
        ch <- <-ch1 + <-ch2
    





附录

自负和自大真的是搞笑!

以上是关于最强解析面试题:Goland 并发版斐波那契数列的主要内容,如果未能解决你的问题,请参考以下文章

最强解析面试题:裴波那契数列「建议收藏!」

最强解析面试题:裴波那契数列「建议收藏!」

面试题9-斐波那契数列

剑指offer面试题 10. 斐波那契数列

三、编程题:计算斐波那契分数序列前n项之和。

P1349 广义斐波那契数列(矩阵乘法)