参考了 《挑战程序设计竞赛》 第二版 P88
并查集可以高效地进行如下操作:
- 查询元素a和元素b是否属于同一组
- 合并a和b所在的组
下面看下并查集常用方法init, find, unit, same的代码
参考了 《挑战程序设计竞赛》 第二版 P88
并查集可以高效地进行如下操作:
下面看下并查集常用方法init, find, unit, same的代码
-Go是编译型语言,当你运行go run hello.go
,会经历编译,链接,执行。
Go原生支持Unicode编码。
Go通过package的概念组织代码,每个源代码文件属于某个package。
package main
比较特殊,它定义了单独执行的程序,而不是一个库,因此main包是程序的入口。
可以使用import
的方式引入其它package,但要注意不要少引入或多余引入package,这样程序将不能编译通过。
Go不允许未使用的局部变量存在
一个function由关键字func
,名字,参数列表,返回列表,函数体
Go语言中的语句不需要分号在结尾,除非多条语句写在一行
注意{
要跟func
在同一行
变量通过var
定义:
|
|
变量可以在定义时初始化,也可以不进行初始化,未进行初始化的,如果是整数,默认值0,string默认值是 空串""
https://leetcode.com/problems/rotate-image/
将正方形矩阵顺时针旋转90度,要求空间复杂度O(1)
纯的数学坐标变换就可以,倒换4个元素的位置,位置下标算清楚就可以。
|
|
https://leetcode.com/problems/ones-and-zeroes/
给你字符串数组,假设你有m个字符0和n个字符1,问你能够最多包含数组中的字符串,只论数量的最大值。
典型的动态规划,下面给出记忆化搜索实现和动态规划实现,注意动态规划要利用滚动数组优化到二维。