Golang - 更多类型

指针 Go语言沿用了C/C++中关于指针的两个核心操作符 & 和 *,它们的含义是完全一样的。 * & (取地址操作符 - Address-of Operator) * Go: &i 会生成一个指向变量 i 的指针。 * C++: &i 同样会生成一个指向变量 i 的指针。 * * (解引用操作符 - Dereference Operator) * Go: * 在类型前面,如 *int,表示“一个指向int类型的指针”的类型。 * 在指针变量前面,如 *p,表示获取该指针指向的底层值。 * C++: * 在类型前面,如 int* 或 int *,表示“一个指向int类型的指针”的类型。 * 在指针变量前面,如…

Golang - 流程控制语句

for循环 1. 标准的三段式 for 循环 C++ 语言: for (int i = 0; i < 10; ++i) { // C++需要括号 std::cout << i << std::endl; } Go 语言: // 注意:没有圆括号 (),但花括号 {} 是必须的 for i := 0; i < 10; i++ { fmt.Println(i) } // 变量 i 的作用域仅限于这个 for 循环内部 关键不同点: 1. 无圆括号…

Golang - 包,变量与函数

Hello World package main import "fmt" func main() { fmt.Println("Hello, 世界") } 包 每个 Go 程序都由包构成。 程序从 main 包开始运行。 本程序通过导入路径 "fmt" 和 "math/rand" 来使用这两个包。 按照约定,包名与导入路径的最后一个元素一致。例如,"math/rand" 包中的源码均以 package rand 语句开始。 “导入路径”和“包名”的关系。 * 导入路径 (Import…

976. 三角形的最大周长

题目 给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。 示例 1: 输入:nums = [2,1,2] 输出:5 解释:你可以用三个边长组成一个三角形:1 2 2。 示例 2: 输入:nums = [1,2,1,10] 输出:0 解释: 你不能用边长 1,1,2 来组成三角形。 不能用边长 1,1,10 来构成三角形。 不能用边长 1、2 和…

812. 最大三角形面积

题目 给你一个由 X-Y 平面上的点组成的数组 points ,其中 points[i] = [xi, yi] 。从其中取任意三个不同的点组成三角形,返回能组成的最大三角形的面积。与真实值误差在 10-5 内的答案将会视为正确答案**。** 示例 1: 输入:points = [[0,0],[0,1],[1,0],[0,2],[2,0]] 输出:2.00000 解释:输入中的 5 个点如上图所示,红色的三角形面积最大。 示例 2: 输入:points = [[1,0],[0,0],[0,1]] 输出:0.50000…

611. 有效三角形的个数

题目 给定一个包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums = [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 示例 2: 输入: nums = [4,2,3,4] 输出: 4 提示: * 1 <= nums.length <= 1000 * 0 <= nums[i]…

120. 三角形最小路径和

题目 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i或 i + 1 。 示例 1: 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出:11 解释:如下面简图所示: 2 3 4 6 5 7 4 1 8 3 自顶向下的最小路径和为…

166. 分数到小数

题目 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以 字符串形式返回小数 。 如果小数部分为循环小数,则将循环的部分括在括号内。 如果存在多个答案,只需返回 任意一个 。 对于所有给定的输入,保证 答案字符串的长度小于 10^4 。 示例 1: 输入:numerator = 1, denominator = 2 输出:"0.5" 示例 2: 输入:numerator = 2, denominator = 1 输出:"2" 示例 3: 输入:numerator = 4, denominator = 333 输出:"…