class Solution {
public:
string triangleType(vector<int>& nums) {
}
};
3024. 三角形类型
给你一个下标从 0 开始长度为 3
的整数数组 nums
,需要用它们来构造三角形。
如果这个数组无法构成一个三角形,请你返回字符串 "none"
,否则返回一个字符串表示这个三角形的类型。
示例 1:
输入:nums = [3,3,3] 输出:"equilateral" 解释:由于三条边长度相等,所以可以构成一个等边三角形,返回 "equilateral" 。
示例 2:
输入:nums = [3,4,5]
输出:"scalene"
解释:
nums[0] + nums[1] = 3 + 4 = 7 ,大于 nums[2] = 5 。
nums[0] + nums[2] = 3 + 5 = 8 ,大于 nums[1] = 4 。
nums[1] + nums[2] = 4 + 5 = 9 ,大于 nums[0] = 3 。
由于任意两边之和都大于第三边,所以可以构成一个三角形,因为三条边的长度互不相等,所以返回 "scalene"。
提示:
nums.length == 3
1 <= nums[i] <= 100
原站题解
golang 解法, 执行用时: 0 ms, 内存消耗: 2.1 MB, 提交时间: 2024-02-19 09:25:09
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" }
python3 解法, 执行用时: 32 ms, 内存消耗: 16.4 MB, 提交时间: 2024-02-19 09:24:39
class Solution: def triangleType(self, nums: List[int]) -> str: nums.sort() if nums[0] + nums[1] <= nums[2]: return 'none' elif nums[0] == nums[2]: return 'equilateral' elif nums[1] == nums[0] or nums[1] == nums[2]: return 'isosceles' else: return 'scalene'