leetcode-回旋镖的数量(java版)
文章目录
- 题目
- 代码
题目
给定平面上 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]]
代码
/** @lc app=leetcode.cn id=447 lang=java** [447] 回旋镖的数量*/// @lc code=start
class Solution {private int dis(int[] pa, int pb[]) {return (pa[0] - pb[0]) * (pa[0] - pb[0]) + (pa[1] - pb[1]) * (pa[1] - pb[1]);}public int numberOfBoomerangs(int[][] points) {int res = 0;for (int i = 0; i < points.length; i++) {// record中存储点i到所有其他点的距离出现的频次HashMap<Integer, Integer> record = new HashMap<>();for (int j = 0; j < points.length; j++)if (j != i) {// 计算距离时不进行开根运算, 以保证精度int dis = dis(points[i], points[j]);if (record.containsKey(dis))record.put(dis, record.get(dis) + 1);elserecord.put(dis, 1);}for (Integer dis : record.keySet())res += record.get(dis) * (record.get(dis) - 1);}return res;}
}
// @lc code=end
leetcode-回旋镖的数量(java版)相关推荐
- LeetCode 回旋镖的数量
题目 给定平面上 n 对 互不相同 的点 points ,其中 points[i] = [xi, yi] .回旋镖 是由点 (i, j, k) 表示的元组 ,其中 i 和 j 之间的距离和 i 和 k ...
- leetcode -43 -字符串相乘 -java版
文章目录 题目 代码 题目 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = &quo ...
- leetcode 461. 汉明距离(Java版)
题目 https://leetcode-cn.com/problems/hamming-distance/ 题解 使用 Java 中的按位异或 ^ 运算符:https://www.baeldung.c ...
- Leetcode题库-回旋镖的数量(java语言版)
题目描述: 给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到 ...
- leetcode 530. 二叉搜索树的最小绝对差(Java版)
题目 https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/ 题解 中序遍历法. 本题要求二叉搜索树任意两节点差的绝对 ...
- leetcode 235. 二叉搜索树的最近公共祖先(Java版,树形dp套路)
题目 原题地址:leetcode 235. 二叉搜索树的最近公共祖先 说明: 所有节点的值都是唯一的. p.q 为不同节点且均存在于给定的二叉搜索树中. 题解 关于 树形dp 套路,可以参考我的另一篇 ...
- 左神算法:最大值减去最小值小于或等于num的子数组的数量(Java版)
本题来自左神<程序员面试代码指南>"最大值减去最小值小于或等于num的子数组的数量"题目. 题目 给定数组 arr 和整数 num,共返回有多少个子数组满足如下情况: ...
- LeetCode 447. 回旋镖的数量(哈希map+组合数)
1. 题目 给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到 ...
- [LeetCode] 447.回旋镖的数量(Easy)C语言题解
题目 给定平面上 n 对不同的点,"回旋镖" 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序). 找到所有回 ...
最新文章
- 广西卫生职业技术学院计算机考试,广西卫生职业技术学院单招2021年春招分数线...
- Science子刊带来新遗传证据:早期人类驯化了自己
- mysql行锁和表锁
- matlab中线型和颜色控制
- php根据单词截取英文语句,php按单词截取字符串的方法
- 红帽7 -本地yum配置
- 手机上用的是的WAP协议 电脑上的是HTTP协议 这两个有什么不同
- 【HDU - 4786 】Fibonacci Tree (最小生成树变形,上下界贪心,tricks)
- 拓扑排序排课系统_视频结构化人脸布控系统
- *printf()格式化串安全漏洞分析(下)
- [HNOI 2010]Planar
- IDEA : IDEA好用的插件集锦
- 信息论实验一:信源熵的计算
- LCD的控制驱动及基与MCU接口的特点
- 右上角的引用文献格式_论文标注参考文献格式
- latex 定理环境,引理,定义,自定义 proof 环境
- ora-12514TNS 监听程序当前无法识别连接描述符中请求服务的解决
- 邮件营销有效吗?分享几个实用的电子邮件营销策略和技巧!
- CAN光纤转换器,光纤转can模块使用说明
- YUV与RGB互转各种公式 (YUV与RGB的转换公式有很多种,请注意区别)