题目描述:
给定平面上 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 回旋镖的数量相关推荐

  1. 447. 回旋镖的数量

    447. 回旋镖的数量 给定平面上 n 对 互不相同 的点 points ,其中 points[i] = [xi, yi] .回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的 ...

  2. [LeetCode] 447.回旋镖的数量(Easy)C语言题解

    题目 给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到所有回 ...

  3. LeetCode 447. 回旋镖的数量(哈希map+组合数)

    1. 题目 给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到 ...

  4. 回旋数字c语言数组,LeetCode 447*. 回旋镖的数量(Python)

    给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到所有回旋镖的 ...

  5. 447 回旋镖的数量(暴力枚举)

    1. 问题描述: 给定平面上 n 对互不相同的点 points ,其中 points[i] = [xi, yi] .回旋镖是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i  ...

  6. leetcode.447 回旋镖的数量

    这道题,有几点: 1.首先固定一个点,然后求其他点到这个点的距离集合, 2.在这个距离集合中,相等距离的有m个,则回旋镖数就有组合C(m, 2) * 2个, 3.回到步骤1 有个优化的方法,在存储距离 ...

  7. 「每日一题」回旋镖的数量

    这是 LeetCode 上 2021-9-13 的每日一题:「447. 回旋镖的数量」 1. 题目描述 给定平面上n对互不相同的点points,其中points[i] = [xi, yi].回旋镖是由 ...

  8. LeetCode(447)——回旋镖的数量(JavaScript)

    给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到所有回旋镖的 ...

  9. 每日一题_447.回旋镖的数量

    每日一题_447.回旋镖的数量 leetcode 447 题目: 题意分析: 今天的题目比较简单,没有复杂的算法,主要是用空间换时间.该题是给我们平面上一系列的点,这些点都在整数格点上,然后当其中一个 ...

最新文章

  1. 企鹅帝国的疯狂反扑!
  2. zoj-4011(动态规划)
  3. STL学习系列五:Queue容器
  4. 接触网作业车司机许新峰的春运
  5. 恶意软件借手机游戏强行吸取流量,使用代码签名证书验明证身
  6. 天津工业大学19年计算机考研大纲,天津工业大学2019考研《计算机原理及接口技术》复试大纲...
  7. c语言数独合法验证,JavaScript数独验证
  8. 2018 抖音热门歌曲大全
  9. vcenter访问报503错误处理
  10. Go语言之路:一、万丈高楼平地起
  11. 剑指 offer 面试题精选图解 10-I.斐波那契数列
  12. SSA ASS (Advanced SubStation Alpha) 字幕
  13. RTMP协议与RTSP协议比较
  14. 约束优化求解之罚函数法
  15. Cover Letter Response Letter
  16. 漏洞修复需要升级打补丁,打补丁准备工作
  17. warning: go env -w GO111MODULE=…does not override conflicting OS environment variable
  18. 炫龙P6笔记本搭建Windows 10+Ubuntu双系统
  19. 写一个matlab程序,自己写的第一个matlab程序
  20. 学位计算机英语,学士的英文名单大全

热门文章

  1. 计算机应用实训室建设方案,计算机应用实训基地建设方案.doc
  2. 英特尔4网口千兆网卡驱动下载
  3. Ubuntu系统下生成Android app系统签名
  4. 初中计算机社团能玩游戏吗,初中信息技术社团活动记录
  5. flash动画作品《童话》mtv_Pelephone翻唱版
  6. 洛谷 P2534 [AHOI2012]铁盘整理(IDA*(dfs+迭代加深+估值函数))
  7. 仿ios桌面vivo_vivo仿ios主题教程 vivo设置ios主题的方法
  8. 程序员必须认识的5件事情(ipvb学习网)
  9. Vmware vSphere hypervisor 虚拟化软件安装
  10. 0-5V模拟转PWM直流变送器调速调理模块