[leetcode] 149. Max Points on a Line

Unity 佳能SDK 及数据获取 3. 把CameraControl 下面只要是绿色的 .cs 文件都复制到Unity 中。1. 填写信息跟官方申请SDK,大概1-2个工作日会邮件回复你。2. 将SDK这两个文件放到 Unity Plugins文件夹。 阅读详情

Max Points on a Line

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.

Example 1:

Input: [[1,1],[2,2],[3,3]]
Output: 3
Explanation:
^
|
| o
| o
| o
±------------>
0 1 2 3 4

Example 2:

Input: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]
Output: 4
Explanation:
^
|
| o
| o o
| o
| o o
±------------------>
0 1 2 3 4 5 6

解答

找到在同一条直线上的最多的点数。
主要的坑在于,有重复的点,所以遍历的时候要记录重复点的个数。
为了避开使用double,可以保存除数和被除数,但是除以了两者的最大公约数。用一个map<pair<int,int>, int>记录同一条直线上的个数。

class Solution {
public:
    int maxPoints(vector<vector<int>>& points) {
        if(points.empty() || points[0].empty())
            return 0;
        int res = 0;
        int num = points.size();
        for(int i=0;i<num;i++){
            map<pair<int,int>,int> m;
            int dup = 1;
            for(int j = i+1;j<num;j++){
                if(points[i][0] == points[j][0] && points[i][1] == points[j][1]) {
                    dup ++;
                    continue;
                }
                int dx = points[i][0] - points[j][0];
                int dy = points[i][1] - points[j][1];
                int d = gcd(dx, dy);
                ++m[{dx / d, dy / d}];
            }
            res = max(res, dup);
            for(auto it = m.begin(); it != m.end(); ++it)
                res = max(res, it->second + dup);
        }
        return res;
    }
    
    int gcd(int a,int b){
        return b == 0 ? a : gcd(b,a%b);
    }
};

参考

https://www.cnblogs.com/grandyang/p/4579693.html

微信小程序报错:“errno“:600001,“errMsg“:“uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net:: uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::ERR_NAME_NOT_RESOLVED,uniApp微信小程序使用uni.uploadFile出现报错,微信小程序如何解决wx.uploadFile报错,如何解决这个问题,微信小程序真机报错,微信小程序报错"errno":600001,"errMsg":"uploadFile:fail errcode:-105 cronet_error_code:-105 error_m 阅读详情

相关推荐

宝塔面板添加站点及运营商SSL免费证书的申请与使用

本文详细介绍在宝塔面板下如何正确添加站点、配置站点,及在运营商如何申请免费SSL证书,将其配置到宝塔站点里。 给你的网站加一把锁,教你免费SSL证书申请,配置到自己的网站中。 环境:Ubuntu server 18 工具:宝塔控制面板 平台:阿里云 Web服务器:Nginx 宝塔:https://www.bt.cn/ 阿里云:https://www.aliyun.com/ 腾讯云:https://cloud.tencent.com/ 要求: 1.宝塔控制面板搭建完毕。 2掌握域名解析的原理。 3.了解ht

贺兰山长老 5059

leetcode -- Max Points on a Line -- 重点

https://leetcode.com/problems/max-points-on-a-line/思路很简单,就是找出两两点的pair,看有多少pair的slope是一样的。这里设想plane中有一条line就是我们要求的最多点的line,那么只要我们循环到这条line上的任意一个点,那么就可以找到与其共线的其他所有点,所以每次做二维循环,都reset一个dict,然后求这个dict中的max

xyqzki的专栏 561

别再为3D抓取发愁了!Halcon手眼标定保姆级教程(Eye-to-Hand模式,含完整代码)

本文提供Halcon手眼标定的保姆级教程,详细讲解Eye-to-Hand模式下的3D抓取实现方法。从硬件配置、坐标系系统到标定流程和核心算法,涵盖完整代码和实战经验,帮助用户快速掌握工业自动化中的精准抓取技术。

weixin_42523711的博客 270

【leetcode】1035. Uncrossed Lines

题目如下: We write the integers ofAandB(in the order they are given) on two separate horizontal lines. Now, we may drawconnecting lines: a straight line connecting two numbersA[i]andB[j]such ...

weixin_33976072的博客 335

AD域控设置客户端桌面壁纸

此时再右键wallpaper文件夹,共享选项下的网络路径已经有了。找到该域下的组策略编辑器(第一步有)并按照图下所示找到桌面壁纸的策略设置,点击进去。在高级共享里可以设置共享名和同时共享的用户数量限制。点击下拉箭头,找到Everyone并选择,点击添加后,点击共享。然后可以看到刚才的新建文件夹策略在域控服务器和客户端都生效了。右键wallpaper文件夹->属性,点击共享选项,点击共享。在弹出的窗口里,按照图下所示设置,点击应用并且确认。在弹出的窗口里,按图示找到文件夹,右键新建文件夹。

欲买桂花同载酒的博客 6054

RC电路(一):微分|积分

的取值不同,会导致输出波形和输入波形之间的关系也不同,由此也会产生不同的应用。输出为0,随着电容充满电,运放-输入端得到的分压为正最大值,可等效成一个电压源,且电压不可突变,此时电流反向为最大值,开始充电时的容抗为0,电压不可突变则电压差为0,运放。开始充电时的容抗为0,电压不可突变则电压差为0,运放。输入端得到的分压也不可突变,随着电容放完电,于是。,因电容上电压不能突变(来不及充电,相当于短路,由上分析可得积分运算电路中,输出为运放的负最大峰值,随着电容充满电,输出为运放的正最大峰值,随着电容放完电,

既有随处可栖的江湖,也有追风逐梦的骁勇! 1万+

LeetCode 149. Max Points on a Line

LeetCode 149. Max Points on a Line题目描述 Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 题目分析题目大意是给出平面上nn个点的坐标, 求出这其中最多有多少个点在同一条直线上。首先进行复杂度下界的分析。 首先由

Guo15331092的博客 398

【电机学复习笔记】同步电机的特性及参数的求取

同步电机的主要特性包括:空载特性、短路特性、零功率因数负载特性、外特性和调整特性。 基于以上特性我们可以实现: 从空载特性和短路特性求同步电抗的不饱和值和短路比; 从零功率因数负载特性和空载特性确定保梯电抗(定子漏抗)和电枢反应电动势

Pantrick_的博客 2万+

LeetCode149 Max Points on a Line

题目: Givennpoints on a 2D plane, find the maximum number of points that lie on the same straight line. Example 1: Input: [[1,1],[2,2],[3,3]] Output: 3 Explana...

zhangjun62的博客 307

银行数据仓库体系实践(3)--数据架构

狭义的数据仓库数据架构用来特指数据分布,广义的数据仓库数据架构还包括数据模型、数据标准和数据治理。即包含相对静态部分如元数据、业务对象数据模型、主数据、共享数据,也包含相对动态部分如数据流转、ETL、整合、访问应用和数据全生命周期管控治理。 数据架构层面通过数据分类、分层部署等手段,从非功能性视角将数据合理布局。通过整体架构管控和设计,支持业务操作类和管理分析类应用(系统),满足业...

acumen_leo的博客 7011

C#使用OpenCvSharp+微信模型识别多个二维码

本文介绍了一个基于OpenCvSharp和微信开源二维码检测器的多二维码识别项目。该项目通过C# WinForm实现,主要功能包括:加载图片、识别图片中的多个二维码并显示识别结果。核心代码使用了OpenCvSharp.WeChatQRCode类,通过预训练的caffe模型(detect.prototxt/detect.caffemodel和sr.prototxt/sr.caffemodel)进行二维码检测和解码。识别结果包括每个二维码的编号、内容及位置信息。项目适用于批量二维码识别场景,部署简单,识别效果良

遇见--专栏 123

[leetcode]149. Max Points on a Line

/* * @lc app=leetcode id=149 lang=java * * [149] Max Points on a Line */ class Solution { public int maxPoints(int[][] points) { if(points == null || points.length == 0) return 0; ...

Belle_Chou的博客 207

DiffusionDriveV2 (1) : 端到端自动驾驶中受强化学习约束的截断扩散建模

DiffusionDriveV2:强化学习约束的截断扩散模型在端到端自动驾驶中的应用 本文针对端到端自动驾驶中扩散模型面临的模式崩溃问题,提出DiffusionDriveV2框架。该方法通过引入强化学习约束,解决了DiffusionDrive依赖模仿学习导致的多样性与持续高质量之间的困境。主要创新包括: 采用尺度自适应乘法噪声促进广泛探索 提出锚点内GRPO管理单个锚点样本间的优势估计 设计锚点间截断GRPO整合全局视角,避免不同驾驶意图间的不当比较 实验表明,该方法在NAVSIM基准测试中达到最先进水平(

@bangbang的博客 381

Leetcode 149 Max Points on a Line

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 给一个点集,判断在一条直线上的点最多有多少个。 枚举每一个点,算其他点和它的斜率,然后用一个unordered_map记录斜率出现的次数。 注意处理好分母为0,和两点重合的情况。 也是

无名山丘,崛起成峰 895

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【重要+细节】LeetCode 149. Max Points on a Line

LeetCode 149. Max Points on a Line Solution1: 参考花花酱:https://zxi.mytechroad.com/blog/geometry/leetcode-149-max-points-on-a-line/ count by slope Time complexity:O(n2)O(n2)O(n^2) Space complexity:...

Allenlzcoder的博客 532

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

[LeetCode]149. Max Points on a Line

[LeetCode]149. Max Points on a Line题目描述思路对每个点,将所有可能的直线存储在map中,并记录直线上对应的点,每次返回点最多的个数 踩的坑: 1. 开始考虑存直线需要 y = k * x + b, 即需存储k, b两个值,后来想想,通过同一点的直线,只需要k即可确定,相同的k值代表相同的直线 2. k值存在为无穷大的问题,即直线与y轴垂直的时候。 3. k

Lcharon的博客 707

leetcode 149. Max Points on a Line

Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 法一:两点确定一条直线(两两组合),然后在判断其他点是否在这条直线上,O(n^3) 法二:遍历每一个点i {其他点j与该点i组成直线的斜率xl,斜率相同,统计加1----斜率相同又过同一个点i

le119126的专栏 612

LeetCode: Max Points on a Line [149]

【题目】 Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 【题意】 给定一堆点,要求找出一条之前上的最大点数 【思路】 没什么好的方法,从每个点P出发,遍历所有的情况 从每个点P出发,斜率相同的点即为统一之前上的点 注意两种特殊情况: 1. 两个点重合(即为同一个点)

Harry Huang 1230

【Leetcode】149. Max Points on a Line 149. 直线上最多的点数

解法 太多坑了这题 只能依次记录每条直线上的点 需要解决的问题就是: 如何唯一地标识一条直线? 用三元组(A,B,C),要注意2点,一是最简约分,二是统一正负号。比如我就统一为第一个非0的数为正 另外还有一个坑: 如何处理重复点? 首先,重复点不能作为得到直线的两个端点 其次,重复点的重复次数也是答案的候选者之一 # Definition for a point. # class Point(ob...

lemonmillie的博客 333

149. Max Points on a Line 【LeetCode】

问题描述 题目意思是求出在同一条直线上最多的点。 入的几个坑: 1.之前定义map<Point,int>变量,Point存处理后的横纵坐标,发现map并不能对Point这个key值自动排序,然后我错误的以为只要自己写个cmp排序规则就行了,但是发现在cmp中没办法取到value值。可以用pair代替。 2.不能在双重循环之外进行比较取最大值,因为如上面的第二个例子,那四个点最后存进...

今天好好优秀了么 329

leetcode No149. Max Points on a Line

Question:Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 求二维坐标中,最多共线的点数Algorithm遍历每个点,找到斜率一样的点,用哈希表存储大小 注意: 相同的点单独计算 在同一竖线上斜率无穷大,可以记为INT_MAXAccep

Dufre 995

【Leetcode】149. Max Points on a Line

题目地址: https://leetcode.com/problems/max-points-on-a-line/ 给定nnn个二维平面里点的坐标,问最多有多少个点在同一条直线上。 暴力O(n3)O(n^3)O(n3)方法可以参考https://blog.csdn.net/qq_46105170/article/details/112556694。下面介绍一个O(n2)O(n^2)O(n2)做法。 可以 import java.util.Arrays; import java.util.HashMap; i

数学、算法爱好者的博客 387

LeetCode 149 Max Points on a Line

题目 煞笔题目,怪不得那么多人diss 两层for循环,它还疯狂卡精度,double的精度不够,必须long double class Solution { public: map<pair<long double,long double>,int> m; map<pair<long double,long double>,int> ...

weixin_30575309的博客 125
上一篇: [leetcode] 139. Word Break
下一篇: [leetcode] 152. Maximum Product Subarray
Peng_maple
博客等级 码龄10年 0粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值