代码拉取完成,页面将自动刷新
//
// Created by 高森森 on 2022/2/7.
//
#ifndef LEETCODE_SOLUTION23_H
#define LEETCODE_SOLUTION23_H
#include <iostream>
#include <vector>
#include <queue>
#include<unordered_map>
#include<float.h>
#include <algorithm>
using namespace std;
class Solution23 {
public:
vector<int> bestLine(vector<vector<int>>& points) {
int maxCnt=2;
vector<int>res{0,1};
for(int i=0;i<points.size();i++)
{
//注意这个map是每个i节点开始重新创建,因为为了计数重复
unordered_map<double,pair<int,vector<int>>>hashmap;
int x1=points[i][0];
int y1=points[i][1];
for(int j=i+1;j<points.size();j++){
int x2=points[j][0];
int y2=points[j][1];
double k=(x1==x2)?DBL_MAX:(double)(y1-y2)/(double)(x1-x2);
if(!hashmap.count(k)){
hashmap[k]=make_pair(2,vector<int>{i,j});
}else{
hashmap[k].first++;
}
if(hashmap[k].first>maxCnt){
maxCnt=hashmap[k].first;
res=hashmap[k].second;
}
}
}
return res;
}
};
#endif //LEETCODE_SOLUTION23_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。