给定平面上 n 对不同的点,“回旋镖” 是由点表示的元组 (i, j, k) ,其中 ij 之间的距离和 ik 之间的距离相等(需要考虑元组的顺序)。

找到所有回旋镖的数量。你可以假设 n 最大为 500,所有点的坐标在闭区间 [-10000, 10000] 中。

示例:
输入:
[[0,0],[1,0],[2,0]]
输出:
2
解释:
两个回旋镖为 [[1,0],[0,0],[2,0]] 和 [[1,0],[2,0],[0,0]]

/*** @param {number[][]} points* @return {number}*/
var numberOfBoomerangs = function(points) {};

个人解法

var numberOfBoomerangs = function(points) {//判断三个点能否满足回旋镖条件function fun(arr1 , arr2 , arr3){if(Math.pow(arr1[0] - arr2[0] , 2) + Math.pow(arr1[1] - arr2[1] , 2) === Math.pow(arr1[0] - arr3[0] , 2) + Math.pow(arr1[1] - arr3[1] , 2)){return true;}if(Math.pow(arr2[0] - arr1[0] , 2) + Math.pow(arr2[1] - arr1[1] , 2) === Math.pow(arr2[0] - arr3[0] , 2) + Math.pow(arr2[1] - arr3[1] , 2)){return true;}if(Math.pow(arr3[0] - arr2[0] , 2) + Math.pow(arr3[1] - arr2[1] , 2) === Math.pow(arr3[0] - arr1[0] , 2) + Math.pow(arr3[1] - arr1[1] , 2)){return true;}return false;}var result = 0;//三重循环对每三个点进行判断for(var i = 0; i < points.length - 2; i++){for(var j = i + 1; j < points.length - 1; j++){for(var k = j + 1; k < points.length; k++){if(fun(points[i] , points[j] , points[k])){//只要满足就加2result += 2;}}}}return result;
};

LeetCode(447)——回旋镖的数量(JavaScript)相关推荐

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

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

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

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

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

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

  4. leetcode.447 回旋镖的数量

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

  5. 447. 回旋镖的数量

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

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

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

  7. 447 回旋镖的数量

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

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

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

  9. 《LeetCode之每日一题》:148.回旋镖的数量

    回旋镖的数量 有关题目 题解 题目链接: 回旋镖的数量 有关题目 给定平面上 n 对 互不相同 的点 points ,其中 points[i] = [xi, yi] .回旋镖 是由点 (i, j, k ...

最新文章

  1. 【算法】模拟退火算法解决TSP问题的matlab实现
  2. LOJ#6048. 「雅礼集训 2017 Day10」数列(线段树)
  3. [LeetCode]题解(python):058-Length of Last Word
  4. 看到一个blog的标语,有意思!
  5. 这个算是编码的坏习惯吧?
  6. Ubuntu 14.04 16.04 安装最新的 docker
  7. oracle查询表在库中所占空间(表名所有字母必须大写‘table_name’)
  8. 三丰三坐标编程基本步骤_ABB 机器人 | 输送链跟踪配置和编程步骤
  9. 20190814 On Java8 第四章 运算符
  10. paip.navicat form mysql导入文本文件时CPU占用100%的解决
  11. UNIX文件系统概述
  12. 在Android系统中,F2FS 文件系统问题分析步骤
  13. Concis组件库封装——Avatar头像
  14. Audio Hijack教程:轻松捕获iOS设备中的音频
  15. 操作系统 (二): 进程与线程
  16. 支持向量机理论(SVM)
  17. Windows11镜像下载及安装
  18. 原子物理与原子核物理知识结构(含链接)
  19. shell脚本的坑坑洼洼
  20. K8S(一)VMware Fusion 构建基本k8s集群

热门文章

  1. ubuntu16.04 虚拟机装机后常用操作
  2. 区块链软件开发:区块链+餐饮
  3. 敏捷宣言和背后的原则 (Agile Manifesto and the principles behind)
  4. Python学习-07-面向对象编程初级
  5. SpringMVC 单文件上传与多文件上传
  6. Git本地版本控制备忘
  7. ORACLE中CONSTRAINT的四对属性
  8. myeclipse 上安装 Maven3
  9. ]网易游戏游戏开发工程师
  10. Your account has been locked out. Please contact the system administrator for further assistance.