ARST打卡第258周
Contents
lc2924_找到冠军 II 【TED演讲】Are there too many people on earth or too few. golang注释 golang线程安全的tcp连接池
Algorithm
lc2924_找到冠军 II
思路: 感觉就是直接找出入度为0的点。如果有多个入度为0的点,返回-1.
可以直接初始化一个vis数组表示是否有入度,最终没vis的pk。这样就是O(n)复杂度。
|
|
和题解一毛一样…感觉这题应该算easy.
Review
【TED演讲】Are there too many people on earth or too few.
生育率降低,劳动力成本变大,然后通货膨胀,导致进一步不敢生育,内卷圈…
感觉要促进发展人类健康,让老年人合理工作,以及让年轻人也不要那么内卷…
让世界变成一个更健康有韧性的世界吧,这得全世界一起想办法。
Tips
golang注释
发现自己用python的@param
注释无法失败,然后问了ChatGPT,发现要用markdown这种注释,终于预览舒服了。
当编写优秀的 Go 函数注释时,一些关键要点包括函数的目的、参数的含义、返回值的意义、函数行为的详细描述以及任何错误处理的信息。以下是几个示例:
- 示例1:文件读取函数
1 2 3 4 5 6 7 8 9 10 11
// ReadFile 从指定路径读取文件内容并返回其字节切片。 // 参数: // - filename:要读取的文件的路径。 // 返回值: // - []byte:文件内容的字节切片。 // - error:如果发生错误,则返回相应的错误信息。 // 函数行为: // 该函数尝试读取指定路径的文件,并返回文件内容的字节切片。如果文件读取成功,则返回文件内容和 nil 错误;如果发生错误,则返回 nil 切片和相应的错误信息。 func ReadFile(filename string) ([]byte, error) { // 实现代码 }
- 示例2:HTTP 请求函数
1 2 3 4 5 6 7 8 9 10 11
// HTTPGet 发起 GET 请求到指定的 URL,并返回响应的主体内容。 // 参数: // - url:要请求的 URL。 // 返回值: // - string:响应的主体内容。 // - error:如果请求过程中出现错误,则返回相应的错误信息。 // 函数行为: // 该函数通过 GET 方法向指定的 URL 发起 HTTP 请求,并返回响应的主体内容。如果请求成功,将返回响应主体的字符串表示;如果请求失败,则返回相应的错误信息。 func HTTPGet(url string) (string, error) { // 实现代码 }
- 示例3:排序函数
1 2 3 4 5 6 7 8 9 10 11
// SortSlice 对给定的切片进行排序,并返回排序后的结果。 // 参数: // - data:要排序的切片。 // - ascending:指定是否按升序排序。如果为 true,则按升序排序;如果为 false,则按降序排序。 // 返回值: // - []int:排序后的切片。 // 函数行为: // 该函数使用快速排序算法对给定的切片进行排序。如果 ascending 参数为 true,则按升序排序;如果为 false,则按降序排序。函数返回排序后的切片。 func SortSlice(data []int, ascending bool) []int { // 实现代码 }
这些示例展示了如何编写清晰、简洁和易于理解的函数注释。通过提供必要的信息,函数注释可以帮助其他开发者更好地理解函数的作用、行为和使用方式。
Share
golang实现一个线程安全的tcp连接池,只需要通过读写锁加一个net.Conn
就行。
发现网络上有开源的实现,于是直接拜读了: fatih/pool
接口简单,挺好的,推荐。