请教下面图片中的这个内容该怎么做呢,我能该如何去解决这种问题呢?
1条回答 默认 最新
关注 /** * struct Point { * int x; * int y; * }; */ class Solution { public: float calculate_gradient(struct Point &point_x ,struct Point &point_y) { if(point_x.x-point_y.x != 0) return (float)(point_x.y-point_y.y)/(float)(point_x.x-point_y.x); else return 1000.f; } /** * * @param points Point类vector * @return int整型 */ int maxPoints(vector<Point>& points) { int max_points=0; int temp_max_points=0; float gradient=0.f; if(points.size() == 0) return 0; if(points.size()==1) return 1; for(int i=0;i<points.size();++i) { for(int j=i+1;j<points.size();++j) { temp_max_points=2; gradient = calculate_gradient(points.at(i) ,points.at(j)); for(int k=0;k<points.size();++k) { if(k==i || k==j) continue; if( (0 == memcmp(&points.at(k),&points.at(i),sizeof(struct Point))) || (0 == memcmp(&points.at(k),&points.at(j),sizeof(struct Point)))) { ++temp_max_points; continue; } if(gradient == 1000.f) { if(points.at(i).x-points.at(k).x == 0) ++temp_max_points; }else{ if((points.at(i).x-points.at(k).x)!=0 && gradient == calculate_gradient(points.at(i) ,points.at(k))) ++temp_max_points; } } if(temp_max_points>max_points) max_points = temp_max_points; } } return max_points; } };
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 请问Ubuntu要怎么安装chrome呀?
- ¥15 视频编码 十六进制问题
- ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
- ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
- ¥15 FileNotFoundError 解决方案
- ¥15 uniapp实现如下图的图表功能
- ¥15 u-subsection如何修改相邻两个节点样式
- ¥30 vs2010开发 WFP(windows filtering platform)
- ¥15 服务端控制goose报文控制块的发布问题
- ¥15 学习指导与未来导向啊