447 回旋镖的数量
题目描述:
给定平面上 n 对不同的点,“回旋镖” 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序)。
找到所有回旋镖的数量。你可以假设 n 最大为 500,所有点的坐标在闭区间 [-10000, 10000] 中。
示例:
输入:
[[0,0],[1,0],[2,0]]
输出:
2
解释:
两个回旋镖为 [[1,0],[0,0],[2,0]] 和 [[1,0],[2,0],[0,0]]
方法1:
主要思路:
(1)直接使用暴力的方法,对每个点求取其对应的其它各个点距离;
(2)只不过将各个距离直接使用unordered_map进行统计,这样直接获得每个距离下的点的数量,则其可组成的回旋镖的数量为nums*(nums-1);
(3)使用这个思路,获得每个点为第一个点可以获得的数量,再统计总的数量即可;
class Solution {public:int numberOfBoomerangs(vector<vector<int>>& points) {int res=0;for(int i=0;i<points.size();++i){unordered_map<int,int> mp;for(int j=0;j<points.size();++j){int dx=points[i][0]-points[j][0];int dy=points[i][1]-points[j][1];++mp[dx*dx+dy*dy];//统计相同的距离}//获得某个点为第一个点时,可以获得的回旋镖for(auto& it:mp){res+=(it.second)*(it.second-1);//获得某个距离下可以组成的回旋镖}}return res;}
};
447 回旋镖的数量相关推荐
- 447. 回旋镖的数量
447. 回旋镖的数量 给定平面上 n 对 互不相同 的点 points ,其中 points[i] = [xi, yi] .回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的 ...
- [LeetCode] 447.回旋镖的数量(Easy)C语言题解
题目 给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到所有回 ...
- LeetCode 447. 回旋镖的数量(哈希map+组合数)
1. 题目 给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到 ...
- 回旋数字c语言数组,LeetCode 447*. 回旋镖的数量(Python)
给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到所有回旋镖的 ...
- 447 回旋镖的数量(暴力枚举)
1. 问题描述: 给定平面上 n 对互不相同的点 points ,其中 points[i] = [xi, yi] .回旋镖是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i ...
- leetcode.447 回旋镖的数量
这道题,有几点: 1.首先固定一个点,然后求其他点到这个点的距离集合, 2.在这个距离集合中,相等距离的有m个,则回旋镖数就有组合C(m, 2) * 2个, 3.回到步骤1 有个优化的方法,在存储距离 ...
- 「每日一题」回旋镖的数量
这是 LeetCode 上 2021-9-13 的每日一题:「447. 回旋镖的数量」 1. 题目描述 给定平面上n对互不相同的点points,其中points[i] = [xi, yi].回旋镖是由 ...
- LeetCode(447)——回旋镖的数量(JavaScript)
给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到所有回旋镖的 ...
- 每日一题_447.回旋镖的数量
每日一题_447.回旋镖的数量 leetcode 447 题目: 题意分析: 今天的题目比较简单,没有复杂的算法,主要是用空间换时间.该题是给我们平面上一系列的点,这些点都在整数格点上,然后当其中一个 ...
最新文章
- 企鹅帝国的疯狂反扑!
- zoj-4011(动态规划)
- STL学习系列五:Queue容器
- 接触网作业车司机许新峰的春运
- 恶意软件借手机游戏强行吸取流量,使用代码签名证书验明证身
- 天津工业大学19年计算机考研大纲,天津工业大学2019考研《计算机原理及接口技术》复试大纲...
- c语言数独合法验证,JavaScript数独验证
- 2018 抖音热门歌曲大全
- vcenter访问报503错误处理
- Go语言之路:一、万丈高楼平地起
- 剑指 offer 面试题精选图解 10-I.斐波那契数列
- SSA ASS (Advanced SubStation Alpha) 字幕
- RTMP协议与RTSP协议比较
- 约束优化求解之罚函数法
- Cover Letter Response Letter
- 漏洞修复需要升级打补丁,打补丁准备工作
- warning: go env -w GO111MODULE=…does not override conflicting OS environment variable
- 炫龙P6笔记本搭建Windows 10+Ubuntu双系统
- 写一个matlab程序,自己写的第一个matlab程序
- 学位计算机英语,学士的英文名单大全
热门文章
- 计算机应用实训室建设方案,计算机应用实训基地建设方案.doc
- 英特尔4网口千兆网卡驱动下载
- Ubuntu系统下生成Android app系统签名
- 初中计算机社团能玩游戏吗,初中信息技术社团活动记录
- flash动画作品《童话》mtv_Pelephone翻唱版
- 洛谷 P2534 [AHOI2012]铁盘整理(IDA*(dfs+迭代加深+估值函数))
- 仿ios桌面vivo_vivo仿ios主题教程 vivo设置ios主题的方法
- 程序员必须认识的5件事情(ipvb学习网)
- Vmware vSphere hypervisor 虚拟化软件安装
- 0-5V模拟转PWM直流变送器调速调理模块