Python soln with thorough explanation
IntuitionAfter reading the problem and to solve it efficiently. We can proceed with hashset.ApproachUpon deciding, We chose hashsets as they dont repeat the sam
# Intuition
After reading the problem and to solve it efficiently. We can proceed with hashset. 

# Approach
Upon deciding, We chose hashsets as they dont repeat the same value again. So, if a triangle has all three sides as {3,3,3}, the hashset will only store one 3. By which, we can conclude that the given triangle is equilateral.

Same goes for the other two. If the triangle has 2 same sides and one differen (3,3,4).The hashset will store only 2 values which tell us that it's an isosceles. And if the triangle has three different sides {3,4,5}, The hashset will store all three different values which tell us that this triangle is scalene.

We also have to look for a fact that the one side of the triangle is not greater or equal to the other two sides. If it is, we can't called it a triangle. So, we make a hashset name tri. Loop it and get the elmts. After that, we get its length which in turn, solves the problem.

# Complexity
- Time complexity:
O(1) is constant because we are only looping through the nums which is 3 times.
- Space complexity:
O(1) is constant because we are using a hashset whose value will not exceed 3.


# Code
```python3 []
class Solution:
    def triangleType(self, nums: List[int]) -> str:
        if nums[0] >= nums[1] + nums[2] or nums[1] >= nums[0] + nums[2] or nums[2] >= nums[0] + nums[1]:
            return "none"

        tri = set()

        for i in nums:
            tri.add(i)

        length = len(tri)
        if length == 1:
            return "equilateral"
        elif length == 2:
            return "isosceles"
        else:
            return "scalene"
```
['Python3']