问题背景
给你一个下标从 0 0 0 开始长度为 3 3 3 的整数数组 n u m s nums nums,需要用它们来构造三角形。
- 如果一个三角形的所有边长度相等,那么这个三角形称为 e q u i l a t e r a l equilateral equilateral。
- 如果一个三角形恰好有两条边长度相等,那么这个三角形称为 i s o s c e l e s isosceles isosceles。
- 如果一个三角形三条边的长度互不相同,那么这个三角形称为
s
c
a
l
e
n
e
scalene
scalene。
如果这个数组无法构成一个三角形,请你返回字符串 “none” ,否则返回一个字符串表示这个三角形的类型。
数据约束
- n u m s . l e n g t h = 3 nums.length = 3 nums.length=3
- 1 ≤ n u m s [ i ] ≤ 100 1 \le nums[i] \le 100 1≤nums[i]≤100
解题过程
简单题简单做,可以排序简化比较逻辑,不过区别不是很大。
具体实现
class Solution {
public String triangleType(int[] nums) {
if (nums[0] + nums[1] <= nums[2] || nums[0] + nums[2] <= nums[1] || nums[1] + nums[2] <= nums[0]) {
return "none";
}
if (nums[0] == nums[1] && nums[1] == nums[2]) {
return "equilateral";
} else if (nums[0] == nums[1] || nums[0] == nums[2] || nums[1] == nums[2]) {
return "isosceles";
} else {
return "scalene";
}
}
}