Adobe Goldman, Sachs Morgan, Stanley, Ola Cabs, Samsung
Convex Hull of a set of points, in 2D plane, is a convex polygon with minimum area such that each point lies either on the boundary of polygon or inside it. Now given a set of points the task is to find the convex hull of points.
Example 1:
Input: points_list = {{1,2},{3,1},{5,6}}
Output: {{1,2},{3,1},{5,6}}
Example 2:
Input : points_list = {{5,1},{4,4},{1,2}}
Output: {{1,2},{4,4},{5,1}}
Your Task:
You don't need to read or print anything. Your task is to complete the function FindConvexHull() which takes points_list as input parameter and returns Convex Hull of given points in a list. If not possible returns a list containing -1.
Expected Time Complexity: O(nlog(n))
Expected Space Complexity: O(n) where n = total no. of points
Constraints:
1 <= n <= 104
-105 <= x, y <= 105
Code:
#include<bits/stdc++.h>
using namespace std;
// } Driver Code Ends
class Solution {
public:
struct pt {
double x, y;
};
static bool cmp(pt a, pt b) {
return a.x < b.x || (a.x == b.x && a.y < b.y);
}
ConversionConversion EmoticonEmoticon