vivek_ragi

MAX_POINTS_ON_A_LINE

Jun 20th, 2021 (edited)
155
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Solution {
  2. public:
  3.    
  4.    
  5.        
  6.     double slope(vector<int>& points, vector<int>& points1) {
  7.         double slp;
  8.         int inf = 0;
  9.         double x1 = points[0];
  10.         double y1 = points[1];
  11.         double x2 = points1[0];
  12.         double y2 = points1[1];
  13.  
  14.         if(x1 == x2) {
  15.             inf++;
  16.         }
  17.         else {
  18.             slp = (double)(y2 -y1);
  19.             slp = (double)slp/(double)(x2 - x1);
  20.         }
  21.         return inf != 0 ? 101010: slp;
  22.     }
  23.    
  24.     int maxPoints(vector<vector<int>>& points) {
  25.         int n = points.size();
  26.        
  27.         int mx = INT_MIN;
  28.         for(int i = 0; i < n; ++i) {
  29.             unordered_map<double,int> mp;
  30.             for(int j = i + 1; j < n; ++j) {
  31.                 double ans = slope(points[i], points[j]);
  32.                 mp[ans]++;
  33.                 mx = max(mx, mp[ans] + 1);
  34.             }
  35.         }
  36.        
  37.         return mx == INT_MIN? 1 : mx;
  38.     }
  39. };
RAW Paste Data