3025. Find the Number of Ways to Place People I
Description
You are given a 2D array points
of size n x 2
representing integer coordinates of some points on a 2D plane, where points[i] = [xi, yi]
.
Count the number of pairs of points (A, B)
, where
A
is on the upper left side ofB
, and- there are no other points in the rectangle (or line) they make (including the border).
Return the count.
Example 1:
Input: points = [[1,1],[2,2],[3,3]]
Output: 0
Explanation:
There is no way to choose A
and B
so A
is on the upper left side of B
.
Example 2:
Input: points = [[6,2],[4,4],[2,6]]
Output: 2
Explanation:
- The left one is the pair
(points[1], points[0])
, wherepoints[1]
is on the upper left side ofpoints[0]
and the rectangle is empty. - The middle one is the pair
(points[2], points[1])
, same as the left one it is a valid pair. - The right one is the pair
(points[2], points[0])
, wherepoints[2]
is on the upper left side ofpoints[0]
, butpoints[1]
is inside the rectangle so it's not a valid pair.
Example 3:
Input: points = [[3,1],[1,3],[1,1]]
Output: 2
Explanation:
- The left one is the pair
(points[2], points[0])
, wherepoints[2]
is on the upper left side ofpoints[0]
and there are no other points on the line they form. Note that it is a valid state when the two points form a line. - The middle one is the pair
(points[1], points[2])
, it is a valid pair same as the left one. - The right one is the pair
(points[1], points[0])
, it is not a valid pair aspoints[2]
is on the border of the rectangle.
Constraints:
2 <= n <= 50
points[i].length == 2
0 <= points[i][0], points[i][1] <= 50
- All
points[i]
are distinct.
Solutions
Solution 1: Sorting and Classification
First, we sort the array. Then, we can classify the results based on the properties of a triangle.
- If the sum of the two smaller numbers is less than or equal to the largest number, it cannot form a triangle. Return "Invalid".
- If the three numbers are equal, it is an equilateral triangle. Return "Equilateral".
- If two numbers are equal, it is an isosceles triangle. Return "Isosceles".
- If none of the above conditions are met, it is a scalene triangle. Return "Scalene".
The time complexity is $O(1)$, and the space complexity is $O(1)$.
1 2 3 4 5 6 7 8 9 10 11 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|