2024-06-22:用go语言,给定一个起始下标为 0 的长度为3的整数数组 nums,根据这些数字构建三角形。
如果无法构成三角形,则返回 “none”;
否则根据三角形的边长关系返回对应类型的字符串:
equilateral(等边三角形)、isosceles(等腰三角形)或 scalene(不等边三角形)。
输入:nums = [3,3,3]。
输出:“equilateral”。
答案2024-06-22:
chatgpt
题目来自leetcode3024。
大体步骤如下:
Go完整代码如下:
package main
import (
"fmt"
"slices"
)
func triangleType(nums []int) string {
slices.Sort(nums)
x, y, z := nums[0], nums[1], nums[2]
if x+y <= z { // 排序后,只需比较 x+y 和 z
return "none"
}
if x == z { // 排序了,说明 y 也和 x z 相等
return "equilateral"
}
if x == y || y == z {
return "isosceles"
}
return "scalene"
}
func main() {
nums := []int{3, 3, 3}
fmt.Println(triangleType(nums))
}
Python完整代码如下:
# -*-coding:utf-8-*-
def triangle_type(nums):
nums.sort()
x, y, z = nums[0], nums[1], nums[2]
if x + y <= z: # 排序后,只需比较 x+y 和 z
return "none"
if x == z: # 排序了,说明 y 也和 x z 相等
return "equilateral"
if x == y or y == z:
return "isosceles"
return "scalene"
def main():
nums = [3, 3, 3]
print(triangle_type(nums))
if __name__ == "__main__":
main()