[LeetCode]Max Points on a Line

squidpy 教程 1:在 AnnData 和 Squidpy 中导入空间数据 这些是 10x Genomics Visium 的 Space Ranger 输出提供的 keys,因此是第一个被采用的 keys。在这种情况下,我们假设空间坐标与像素具有相同的比例,因此我们将该值设置为 1。为此,我们将使用模拟数据集,并通过示例展示您应该注意的重要细节,以便利用 AnnData-Scanpy-Squidpy 生态系统的全部功能。并不是绝对必要的,但会节省您大量的输入,因为它是 Squidpy 和 Scanpy 的默认值。正如你所看到的,空间坐标被缩小了,图像被“放大”了。 阅读详情

Question:

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

分析:

任意一条直线都可以表述为

y = ax + b

假设,有两个点(x1,y1), (x2,y2),如果他们都在这条直线上则有

y1 = kx1 +b

y2 = kx2 +b

由此可以得到关系,k = (y2-y1)/(x2-x1)。即如果点c和点a的斜率为k, 而点b和点a的斜率也为k,可以知道点c和点b也在一条线上。

取定一个点points[i], 遍历其他所有节点, 然后统计斜率相同的点数,并求取最大值即可

/**
 * Definition for a point.
 * struct Point {
 *     int x;
 *     int y;
 *     Point() : x(0), y(0) {}
 *     Point(int a, int b) : x(a), y(b) {}
 * };
 */
class Solution {
public:
    int maxPoints(vector<Point> &points) {
        // IMPORTANT: Please reset any member data you declared, as
        // the same Solution instance will be reused for each test case.
		unordered_map<float,int> mp;
		int maxNum = 0;
		for(int i = 0; i < points.size(); i++)
		{
			mp.clear();
			mp[INT_MIN] = 0; // for processing duplicate point
			int duplicate = 1;
			for(int j = 0; j < points.size(); j++)
			{
				if(j == i) continue;
				if(points[i].x == points[j].x && points[i].y == points[j].y)
				{
					duplicate++;
					continue;
				}
				float k = points[i].x == points[j].x ? 
				          INT_MAX : // key for vertical line 
				          (float)(points[j].y - points[i].y)/(points[j].x - points[i].x);
				mp[k]++;
			}
			unordered_map<float, int>::iterator it = mp.begin();
			for(; it != mp.end(); it++)
				if(it->second + duplicate > maxNum)
					maxNum = it->second + duplicate;
		}
		return maxNum;
    }
};

注意:

0、points中重复出现的点。

1、int maxNum = 0;

初始化,以防points.size() ==0的情况。

2、mp[INT_MIN] = 0;

保证poins中只有一个结点,还有points中只有重复元素时,mp中没有元素。这两种极端情况。

3、int duplicate = 1;

duplicate记录重复点的数量,初始化为1,是因为要把当前的点points[i]加进去。

4、float k = points[i].x == points[j].x ? INT_MAX : (float)(points[j].y - points[i].y)/(points[j].x - points[i].x);

计算斜率,如果直线和y轴平行,就取INT_MAX,否则就取(float)(points[j].y - points[i].y)/(points[j].x - points[i].x)

一开始把(float)(points[j].y - points[i].y)/(points[j].x - points[i].x)写做(float)((points[j].y - points[i].y)/(points[j].x - points[i].x))一直就不对,后来才想明白,注意注意!


参考:

http://blog.youkuaiyun.com/doc_sgl/article/details/17103427

毕设分享|基于16单片机的指纹识别电子密码锁设计 我们今天的工作生活中,很多的场合都需要身份的认证,而传统的基于标志的身份认证技术由于受到证件伪造以及密码破解等手段的威胁,逐渐表现得有些力不从心。怎样保护自己的重要文件资料,如何保证自己的隐私不被泄露?在传统的身份认证中,我们往往使用密码加密法,但是这种方法只是"防君子不防小人"。在高明的黑客眼里,由几个字符组成的密码脆弱得不堪一击。现在,科技的发展让我们有了新的选择——生物识别技术。将生物识别技术应用于笔记本、门锁等方面,可以对文件、财产起保护作用,并且可以进行身份识别。 阅读详情

相关推荐

使用CubeMX生成的项目在Keil下添加DSP库并包含arm_math头文件后报错的解决办法

问题描述: 最近使用Cube生成工程后,在Keil中使用Manage Runtime Environment即绿色小饼干按钮添加CMSIS的DSP库后编译报错。很有意思的是,STM32论坛上有外国朋友报告的同样的错误,都是30个Errors,5个Warning。 问题分析: 参考国内论坛某帖子(具体想不起来了),认为因该是Cube复制了库后,Keil从原始Packs目录下引用DSP库导致和Cub...

qq_32256951的博客 7000

Points on Line(CF-252C)

Problem Description Little Petya likes points a lot. Recently his mom has presented him n points lying on the line OX. Now Petya is wondering in how many ways he can choose three distinct points so ...

Alex_McAvoy的博客 1011

5GCPE与4G物联网卡兼容实战:通过AT指令修改IMEI实现设备迁移

本文详细介绍了如何通过AT指令修改5GCPE设备的IMEI,实现4G物联网卡的设备迁移。从硬件准备、驱动安装到串口工具配置,再到具体的AT指令操作步骤,提供了全面的实战指南。文章还包含信号优化、APN设置等实用技巧,帮助用户顺利完成设备迁移并提升网络性能。

weixin_28684757的博客 626

Max Points on a Line(直线上最多的点数)

给定一个二维平面,平面上有n个点,求最多有多少个点在同一条直线上。 示例 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]...

weixin_30616969的博客 253

从零搭建Python接口自动化测试框架:pytest+requests+Allure实战指南

接口自动化测试是现代软件工程中保障交付质量、提升测试效率的核心实践。其基本原理是通过脚本模拟客户端请求,对服务端接口进行自动化的功能验证、性能探测与回归测试,从而替代重复的手工操作。在技术实现上,Python凭借其简洁语法和丰富的生态,成为构建此类框架的主流选择,其中pytest测试框架、requests HTTP库和Allure报告工具构成了技术栈的黄金组合。这套技术方案的价值在于,它能将测试用例数据(如YAML文件)与执行逻辑分离,实现数据驱动测试,并通过持续集成(如Jenkins)无缝融入DevOps

weixin_31822733的博客 378

ArcGIS属性表汉字转拼音

接着我安装了一个编辑器“PyCharm Community Edition 2019.3.3\bin\pycharm64.exe”,在里面添加“pypinyin”包,然后将其设置为arcgis的编辑器和调试程序,还是失败;我在10.6的机器上折腾了上面几步,直到两周后脚本突然运行成功,我也不确定是哪一步导致pypinyin包配置成功,因此将心得体会写出来,如果过一段时间,打开10.2的机器运行脚本成功了,再写后续.......,按照“配置方法1:”进行尝试,显示配置失败。

2301_77413856的博客 1295

LeetCode Max Points on a Line

题意:给定一些二维坐标,求多少个点在同一条直线上 解法:明显的极角排序,卡了几下,发现这道题目比uva 270多了几种情况。 1、先说这道题目的极角排序:O(n)遍历一遍,枚举极角排序的中心点。然后构造向量,进行极角排序。排序结束,根据差乘判断(假设只有一个中心点,即任意两个点坐标都不同),有多少个点在一条直线上。即为返回值ret。 2、题目可能有重复点。这个就需要我们把重复的点找出来。极角

miss_snow_m的专栏 461

MuMu模拟器过检测实战:从硬件伪装到API欺骗的完整避坑指南

本文详细介绍了MuMu模拟器过检测的实战技术,从硬件伪装到API欺骗的全方位解决方案。通过修改CPU/GPU信息、内存分布、系统属性和行为模拟等关键技术,帮助用户有效绕过现代应用的模拟器检测机制,提升模拟器的隐蔽性和稳定性。

xxx12的博客 1388

max points on a line

文章目录尝试一尝试2结论 题目内容 意思:在一个二维平面上有n个点,求出现在同一直线上的点(就是那n个点)的最大个数。 尝试一 结果:case通过率为7.69% 代码: /** * Definition for a point. * class Point { * int x; * int y; * Point() { x = 0; y = 0; } * ...

wobushixiaobailian的博客 255

【LAMMPS学习】八、基础知识(4.5)TIP5P水模型

​ 五点 TIP5P 刚性水模型通过添加两个通常无质量的附加位点 L 来扩展three-point TIP3P model,其中放置与氧原子相关的电荷。这些位点 L 位于距氧原子固定距离处,形成从 HOH 平面旋转 90 度的四面角。因此,这些位点在某种程度上近似于氧的孤对,从而改善了水结构,与four-point TIP4P model相比变得更加“四面体”。

荷塘阅色 1421

电脑技巧:Hyper-V安装UOS操作系统图文教程

今天给大家分享微软官方Hyper-v虚拟机管理软件安装UOS操作系统图文教程,感兴趣的朋友也可以下载试一试,当然有啥问题也可以互相沟通交流!

IT技术分享社区 4706

Max Points on a Line(leetcode)

题目:

u010585135的专栏 507

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

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

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

[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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Leetcode: 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. 任意一条直线都可以表述为 y = ax + b 假设,有两个点(x1,y1), (x2,y2),如果他们都在这条直线上则有 y1 = kx1 +b y2 = kx2 +b 由此

ZkvIA的博客 2万+

Max Points on a Line -- LeetCode

原题链接: http://oj.leetcode.com/problems/max-points-on-a-line/  这道题属于计算几何的题目,要求给定一个点集合,是求出最多点通过一条直线的数量。我的思路是n个点总共构成n*(n-1)/2条直线,然后对每条直线看看是有多少点在直线上,记录下最大的那个,最后返回结果。而判断一个点p_k在p_i, p_j构成的直线上的条件是(p_k.y-p_i.

Code Ganker 1万+

【Leetcode】Max Points on a Line

题目链接:https://leetcode.com/problems/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. 思路: 对所有可以配对的点计算他们之间的斜率,并保存。时间

业精于勤,荒于嬉 2164

牛客网LeetCode算法题详解:max-points-on-a-line

欢迎访问我的个人博客(点击进入) max-points-on-a-line 1.题干: 对于给定的n个位于同一二维平面上的点,求最多能有多少个点位于同一直线上 Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 给出的数据结构: /** * Defi...

weixin_43265151的博客 267

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

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

【LeetCode】Max Points on a Line 解题报告

【题意】 求二维平面上n个点中,最多共线的点数。 【思路】 比较直观的方法是,三层循环,以任意两点划线,判断第三个点是否在这条直线上。 【Java代码】 /** * Definition for a point. * class Point { * int x; * int y; * Point() { x = 0; y = 0; } * Po

跳出温水的青蛙 8128

LeetCode: Max Points on a Line

这个设计test case是个好题目。本来的想法是以斜率为key,做hashtable计数,试了几次行不通。似乎改造下这个方案也是可行的。 后来干脆按照line来计数。最主要的是点重复这个事情不好弄,干脆吧点集预处理下。发现leetcode论坛里有个类似的思路,不过那个解法错了。 代码有点丑,如下: struct Point { int x; int y; Point() :

rreference 335

【重要+细节】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
上一篇: [LeetCode]Evaluate Reverse Polish Notation
下一篇: [LeetCode]Linked List Cycle II
Tim_WT
博客等级 码龄20年 2粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值