只爱洗碗 2021-11-09 21:31 采纳率: 89.5%
浏览 16
已结题

下面图片中的这个内容要怎么做,该如何去解决它呢

请教下面图片中的这个内容该怎么做呢,我能该如何去解决这种问题呢?

img

  • 写回答

1条回答 默认 最新

  • 从善若水 5G/6G通信领域优质创作者 2021-11-10 12:01
    关注
    
    /**
     * 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;
        }
    };
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 创建了问题 11月9日

悬赏问题

  • ¥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 学习指导与未来导向啊