回旋镖定义为一组三个点,这些点各不相同且不在一条直线上。
给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖。

示例 1:
输入:[[1,1],[2,3],[3,2]]
输出:true
示例 2:
输入:[[1,1],[2,2],[3,3]]
输出:false
提示:
points.length == 3
points[i].length == 2
0 <= points[i][j] <= 100

思路:

* 实际上就是求给定三点,判断是否能组成三角形
* 计算三点之间的距离
* 利用三角形的定理判断是否能组成三角形
* 三角形两边之和大于第三边,两边之差小于第三边的性质

代码:

public boolean isBoomerang(int[][] points) {if(points.length!=3)return false;int x1 = 0,y1 = 0,x2 = 0,y2 = 0,x3 = 0,y3 = 0;for (int i = 0; i < points.length; i++) {int[] p = points[i];if(i == 0) {x1 = p[0];y1 = p[1];//第1条边赋值}else if(i == 1) {x2 = p[0];y2 = p[1];//第2条边赋值}else if(i == 2) {x3 = p[0];y3 = p[1];//第3条边赋值}}// 求出三点之间的距离double long12=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));double long13=Math.sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));double long32=Math.sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));//利用三角形 两边之和大于第三遍,两边之差小于第三边的性质,判断是否能够组成三角形if (long12 + long13 == long32) {return false;}if (long12 + long32 == long13) {return false;}if (long32 + long13 == long12) {return false;}return true;}

值得收藏一下,哈哈,双100%

leetcode.1037. 有效的回旋镖相关推荐

  1. Python描述 LeetCode 1037. 有效的回旋镖

    Python描述 LeetCode 1037. 有效的回旋镖   大家好,我是亓官劼(qí guān jié ),在[亓官劼]公众号.CSDN.GitHub.B站等平台分享一些技术博文,主要包括前端开 ...

  2. leetcode 1037. 有效的回旋镖(三点共线问题)

    [题目]1037. 有效的回旋镖 1037. 有效的回旋镖 1232. 缀点成线 回旋镖定义为一组三个点,这些点各不相同且不在一条直线上. 给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖. ...

  3. Leetcode 1037.有效的回旋镖

    原题连接:Leetcode 1037. Valid Boomerang Given an array points where points[i] = [xi, yi] represents a po ...

  4. [LeetCode]1037. 有效的回旋镖

    题目 1037. 有效的回旋镖 1037. 有效的回旋镖 给定一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点,如果这些点构成一个 回旋镖 则返回 ...

  5. LeetCode 1037. 有效的回旋镖

    1. 题目 回旋镖定义为一组三个点,这些点各不相同且不在一条直线上. 给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖. 示例 1: 输入:[[1,1],[2,3],[3,2]] 输出:tru ...

  6. 【宫水三叶的刷题日记】1037. 有效的回旋镖(简单)

    题目描述 这是 LeetCode 上的 1037. 有效的回旋镖 ,难度为 简单. Tag : 「计算几何」.「数学」 给定一个数组 points,其中   表示 X-Y 平面上的一个点,如果这些点构 ...

  7. 【JAVA】【刷题子】1037. 有效的回旋镖

    一.题目与题目分析 题目 给定一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点,如果这些点构成一个 回旋镖 则返回 true . 回旋镖 定义为一 ...

  8. Ruby:线性代数解法 LeetCode简单题 1037. 有效的回旋镖

    给定一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点,如果这些点构成一个 回旋镖 则返回 true . 回旋镖 定义为一组三个点,这些点 各不相同 ...

  9. 1037.有效的回旋镖

    回旋镖定义为一组三个点,这些点各不相同且不在一条直线上. 给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖. 示例 1: 输入:[[1,1],[2,3],[3,2]] 输出:true 示例 2 ...

最新文章

  1. 有符号数据的符号位扩展
  2. Mysql拐点_InnoDB select性能拐点测试
  3. 发现一个不错的Windows内核的相关论坛
  4. Redis事务回滚深入
  5. iframe悬浮在html上_HTML Iframe
  6. 所见即搜,3分钟教你搭建一个服装搜索系统!
  7. [转]TensorFlow---岂止深度学习
  8. 【Python】【有趣的模块】【systimeos】
  9. 微信小程序之——自定义分享按钮(完整版)
  10. 最坑人的辨色大比拼微信小游戏源码
  11. 无线电波传播:频段、方式、衰落|瑞利分布、瑞利衰落非复制的解释
  12. 在 visual studio 中添加 ILDASM 工具
  13. iOS利用HealthKit获取健康里的步数和睡眠时间
  14. 2017年全国大学生电子竞赛电源A题
  15. USB3.0 HUB方案之VL817-Q7
  16. 王之泰201771010131《面向对象程序设计(java)》第十五周学习总结
  17. ssm运动器材共享平台毕业设计源码201816
  18. 分号的html文本,html分号
  19. 条件与循环Phython
  20. 分布式事务专题-基础概念(1)

热门文章

  1. 计算机语言中call,雅马哈编程语言CALL的作用
  2. cpu温度过高 ubuntu_Ubuntu环境下检查CPU 的温度
  3. python调用htk工具箱_HTK学习笔记(一)在win32(win7)下安装HTK详细体验教程
  4. GIT 存储格式与运用
  5. Array 常用函数(C++)
  6. 联想ideapad 700 加固态(三星pm981)
  7. 【经典】直播、点播播放器ckplayer
  8. 如何通过反编译的方式提升APK的会员级别
  9. python股票数据接口实战:根据不同均线的关系判断买卖点
  10. P2P、消费贷和现金贷的区别