149. 直线上最多的点数 没有通过---

149. 直线上最多的点数

难度困难132收藏分享切换为英文关注反馈

给定一个二维平面,平面上有 个点,求最多有多少个点在同一条直线上。

示例 1:

输入: [[1,1],[2,2],[3,3]]
输出: 3
解释:
^
|
|        o
|     o
|  o  
+------------->
0  1  2  3  4

示例 2:

输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]
输出: 4
解释:
^
|
|  o
|     o        o
|        o
|  o        o
+------------------->
0  1  2  3  4  5  6

 

 

class Solution {
public:
    int maxPoints(vector<vector<int>>& points) {
       if(points.empty()){
           return 0;
       }    
       unordered_map<long double, int> hash;

       int result = 1;
       for(int i =0; i< points.size() ; i++){
              int vertical = 1;
              int duplicate =0;

              for (int j =i+1 ; j<points.size();j++ ){
                  if (points[i][0] == points[j][0]) {
                       vertical ++;
                       if (points[i][1] == points[j][1]) {
                           duplicate++;   
                        } 
                   } 
                }

                for (int j =i + 1; j<points.size(); j++){

                   if(points[i][0] != points[j][0] ) {
                        long double slope = (long double)  (points[i][1] - points[j][1]) / (points[i][0] - points[j][0]);
                            if(!hash.count(slope)) hash[slope] =2;
                            else {
                                    hash[slope] ++;
                            }
                            result = max(result ,hash[slope] + duplicate);
                    }
                }
        result = max(result,vertical);    
       }    
       return result;
    }
};

 

### 回答1: Autodesk.AutoCAD.GraphicsInterface.DrawableType是Autodesk.AutoCAD中的一个枚举类型,用于表示绘图对象的类型。它包括以下成员: - BlockReference:块引用 - Circle:圆 - DwfUnderlay:DWF叠加 - Ellipse:椭圆 - Hatch:填充 - Image:图像 - Leader:引线 - Line:直线 - MText:多行文本 - Point:点 - Polyline:多段线 - Ray:射线 - Region:区域 - Solid:实体 - Spline:样条曲线 - Text:单行文本 - Tolerance:公差标注 - Trace:轮廓 通过该枚举类型,可以方便地判断绘图对象的类型,从而进行相应的处理。 ### 回答2: Autodesk.AutoCAD.GraphicsInterface.DrawableType是一个在AutoCAD软件中使用的枚举类型,用于表示图形接口中的可绘制对象类型。 这个枚举类型定义了许多可绘制对象的不同类型,每个类型都有其特定的属性和方法。在AutoCAD中,可绘制对象可以是线条、多边形、文本、曲线等等。通过使用DrawableType枚举类型,用户可以方便地进行判断和处理不同类型的可绘制对象。 枚举类型定义了几个常见的可绘制对象类型,包括点、直线、圆、多段线等。用户可以根据自己的需求选择合适的类型进行绘制。另外,用户还可以利用可绘制对象的属性和方法对图形进行编辑、变换和操作。 通过使用DrawableType枚举类型,开发人员可以更好地控制和管理可绘制对象。他们可以根据不同的需求选择合适的对象类型,并对其进行操作和修改。这样可以提高开发效率,减少错误发生的可能性。 总之,Autodesk.AutoCAD.GraphicsInterface.DrawableType是一个用于表示AutoCAD图形接口中可绘制对象类型的枚举类型。通过使用这个枚举类型,用户可以方便地处理和操作不同类型的可绘制对象,提高开发效率和减少错误。 ### 回答3: Autodesk.AutoCAD.GraphicsInterface.DrawableType是AutoCAD的图形接口中的一个类,用于描述可绘制图形元素的类型。 该类是一个枚举类,包含了AutoCAD中各种不同类型的可绘制图形元素,例如线段、多边形、圆弧、文字等。 使用DrawableType类可以方便地对不同类型的图形元素进行分类和处理,提供了各种方法和属性用于操作和获取图形元素的相关信息。 比如,我们可以使用DrawableType类的方法来判断一个图形元素的类型,从而决定采取不同的操作方式。例如,可以通过检查元素的DrawableType属性,判断它是线段还是多边形,然后选择使用不同的绘制方法来显示该元素。 此外,DrawableType类还可以用于从AutoCAD的图形数据中提取特定类型的图形元素,方便进行后续处理和操作。例如,可以利用DrawableType类的方法来筛选出所有的文字元素,然后进行文字处理操作,如修改字体、调整位置等。 总之,Autodesk.AutoCAD.GraphicsInterface.DrawableType是AutoCAD图形接口中的一个重要类,它提供了对图形元素类型的描述和操作。使用它可以方便地对AutoCAD中的图形数据进行分类和处理,提高了绘图的效率和精确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值