2024-06-22:用go语言,给定一个起始下标为 0 的长度为3的整数数组 nums,根据这些数字构建三角形。 如果无法构成三角形,则返回 “none“; 否则根据三角形的边长关系返回对应类型的字

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()

在这里插入图片描述

posted @ 2024-06-22 21:07  福大大架构师每日一题  阅读(2)  评论(0编辑  收藏  举报