Dễ 0 đã giải Tỷ lệ chấp nhận 0%

Triangle Classification

Classify three side lengths as invalid, equilateral, isosceles, or scalene.

Bạn sẽ học được gì

  • Kiểm tra bất đẳng thức tam giác
  • Phân loại theo số cạnh bằng nhau
  • Sắp điều kiện từ cụ thể nhất đến chung nhất

Đề bài

Classify three side lengths as invalid, equilateral, isosceles, or scalene. A valid triangle has positive sides, and its two shortest sides must sum to more than its longest side. Equal-to is invalid: it forms a straight line. Use equilateral for three equal sides, isosceles for exactly two, and scalene for three different sides.

Implement triangle_classification(sides).

Input

sides: The three side lengths in any order.

Output

Return one lowercase label: invalid, equilateral, isosceles, or scalene.

Ràng buộc

Exactly three integer sides, each between −1,000,000,000 and 1,000,000,000. Nonpositive sides are invalid.

Ví dụ

Ví dụ 1
Đầu vào:
sides = [5, 5, 8]

Kết quả mong đợi:
expected = "isosceles"
Đầu vào:
std::vector<long long> sides = {5, 5, 8};

Kết quả mong đợi:
std::string expected = "isosceles";
Đầu vào:
long[] sides = new long[] {5, 5, 8};

Kết quả mong đợi:
string expected = "isosceles";

Giải thích

Two sides equal 5, and 5 + 5 > 8, so this is a valid isosceles triangle.

Ví dụ 2
Đầu vào:
sides = [1, 2, 3]

Kết quả mong đợi:
expected = "invalid"
Đầu vào:
std::vector<long long> sides = {1, 2, 3};

Kết quả mong đợi:
std::string expected = "invalid";
Đầu vào:
long[] sides = new long[] {1, 2, 3};

Kết quả mong đợi:
string expected = "invalid";

Giải thích

1 + 2 equals 3. The strict inequality fails, so these lengths form a line.

Hướng tiếp cận

Hãy tự thử trước, sau đó mở từng gợi ý một.

Gợi ý 1

Trước hết loại các tam giác không thể có: cạnh không dương hoặc cạnh lớn nhất quá dài.

Gợi ý 2

Sắp xếp các cạnh để kiểm tra bất đẳng thức tam giác dễ hơn.

Gợi ý 3

Sau đó phân loại theo số cạnh bằng nhau: ba, hai, hoặc không có.

Độ phức tạp mong đợi

thời gian O(1), bộ nhớ phụ O(1)

Tham khảo

Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.

Học hỏi từ người khác

Giải pháp cộng đồng

Chưa có giải pháp nào được chia sẻ. Hãy giải thử thách này để đăng giải pháp đầu tiên.