Number of Boomerangs
来源:互联网 发布:seo基础教程 编辑:程序博客网 时间:2024/05/16 02:44
Number of Boomerangs
Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple of points (i, j, k)
such that the distance between i
and j
equals the distance between i
and k
(the order of the tuple matters).
Find the number of boomerangs. You may assume that n will be at most 500 and coordinates of points are all in the range [-10000, 10000] (inclusive).
Example:
Input:[[0,0],[1,0],[2,0]]Output:2Explanation:The two boomerangs are [[1,0],[0,0],[2,0]] and [[1,0],[2,0],[0,0]]解析:对每个点求到其他每个点的距离,并把距离放在一个hash中计数,若点i到某些点(k个)的距离相同,则以第i个点为中心点的tuple为k*(k-1)。
代码:
class Solution {public: int numberOfBoomerangs(vector<pair<int, int>>& points) { int N=points.size(); unordered_map<double,int> dist; int ans=0; for (int i=0; i<N; i++) { dist.clear(); for (int j=0; j<N; j++) { dist[sqrt(pow(abs(points[i].first-points[j].first),2)+pow(abs(points[i].second-points[j].second),2))]++; } for(auto iter = dist.begin(); iter != dist.end(); iter++) { ans+=((iter->second)*(iter->second-1)); } } return ans; }};
0 0
- 447. Number of Boomerangs
- Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs
- Leetcode Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs*
- LEETCODE--Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs
- 447. Number of Boomerangs
- LeetCode : Number of Boomerangs
- [CF 417D]Cunning Gena:状压DP
- MATLAB中的函数句柄及其应用
- sublime vue 语法高亮插件安装
- js鼠标经过文字显示图片预览,jquery效果
- C++对象模型
- Number of Boomerangs
- LeetCode 274. H-Index
- Android数据存储之SQLite存储
- LR录制和模拟HTTPs请求的基础知识
- 数组方法 sort() 大小写字母表排序
- Spring Jackson 反序列化Date时遇到的问题(http://www.aichengxu.com/java/81030.htm)
- 递归神经网络之父:人工智能2050年超过人类智
- Elasticsearch生产环境遇到的有关问题以及解决方案
- 生产环境实战spark (7)分布式集群 5台设备 Hadoop集群安装