算法-二分查找法: 162. 寻找峰值

## 问题描述 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。 你可以假设 `nums[-1] = nums[n] = -∞ `。 你必须实现时间复杂度为 `O(log n)` 的算法来解决此问题。 > 示例 1: 输入:nums = [1,2,3,1]

- 阅读全文 -

算法-斐波那契数列 - 兔子繁殖问题

> 故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内没有发生死亡,问:一对刚出生的兔子,一年内繁殖成多少对兔子? 好了,虽说问题很有趣儿,但是貌似不是很容易解答哈,那我们还是先看看斐波那契是何许人也。 ![](https://i-

- 阅读全文 -

Go sync.Cond

[该文章转载自极客兔: geektutu.com](https://geektutu.com/post/hpg-sync-cond.html "转载自极客兔 geektutu.com") > 源代码/数据集已上传到 [Github - high-performance-go](https://github.com/geektutu/high-performance-go) ![hig

- 阅读全文 -

GO语言-按树形结构打印二叉树

```Go type TreeNode struct { Val int Left, Right *TreeNode } func getTreeDepth(root *TreeNode) int { if root == nil { return 0 } return 1 + int(math.Max(float64(getTreeDepth(

- 阅读全文 -

如何优雅地关闭 channel

[原文: 08 - 如何优雅地关闭 channel](https://qcrao91.gitbook.io/go/channel/ru-he-you-ya-di-guan-bi-channel "原文: 08 - 如何优雅地关闭 channel") 关于 channel 的使用,有几点不方便的地方: - 1.在不改变 channel 自身状态的情况下,无法获知一个 channel

- 阅读全文 -