611. 有效三角形的个数

给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。

示例 1:

输入: [2,2,3,4]
输出: 3
解释:
有效的组合是:
2,3,4 (使用第一个 2)
2,3,4 (使用第二个 2)
2,2,3

注意:

  • 数组长度不超过1000。
  • 数组里整数的范围为 [0, 1000]。

解题思路

先将数组从小到大进行排序,固定一条边i,遍历另一条边j,我们发现当j在不断增大的时候,我们的第三边也可以继续在原来的基础上加大,因此我们只需要维护第三边的指针k

代码

class Solution {public int triangleNumber(int[] nums) {Arrays.sort(nums);int n=nums.length,res=0;for(int i=0;i<n;i++){int k=i;for (int j=i+1;j<n;j++){while (k+1<n&&nums[k+1]<nums[i]+nums[j])k++;res+= Math.max(0,k-j);}}return res;}
}

611. 有效三角形的个数相关推荐

  1. 判断三个数是否能构成三角形_【内含干货】611. 有效三角形的个数

    点击蓝色"力扣加加"关注我哟 加个"星标",带你揭开算法的神秘面纱! ❝ 这是力扣加加第「9」篇原创文章 ❞ 题目地址(611. 有效三角形的个数) https ...

  2. Leetcode 611 有效三角形的个数

    611. 有效三角形的个数 难度中等321收藏分享切换为英文接收动态反馈 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数. 示例 1: 输入: [2,2,3,4] 输出 ...

  3. 611.有效三角形的个数

    611.有效三角形的个数 贴个题目: 贴个示例: 解题思路: 这道题目,涉及了一个初二的数学知识: 三角形的两边之和大于第三边: 即:a+b>c 也就是这一道题,我们需要做的是,使用两条边,找到 ...

  4. 能否构成三角形的条件代码_leetcode No.611 有效三角形的个数

    题目链接: 611. 有效三角形的个数 - 力扣(LeetCode)​leetcode-cn.com 题目描述: 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数. 示例 ...

  5. LeetCode 611. 有效三角形的个数(双指针)

    1. 题目 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数. 示例 1: 输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 2,3,4 (使用第一个 2) ...

  6. 7. Leetcode 611. 有效三角形的个数 (数组-双向双指针)

    给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数.示例 1:输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 ( ...

  7. leetcode 611. Valid Triangle Number | 611. 有效三角形的个数(Java)

    题目 https://leetcode.com/problems/valid-triangle-number/ 题解 a, b, c 三指针,无剪枝优化,O(n^3),居然通过了. 思路是,用 a, ...

  8. 计算构成三角形的个数

    题目描述 二维平面直角坐标系中有N个整形坐标点(x1,y1),(x2,y2),..(xN,yN),任意三个点都可能构成一个三角形,计算构成三角形的个数. 输入描述 输入有两行: 第一行为N. 3 ≤ ...

  9. 求图中三角形的个数(C++描述)

    首先要给三角形的各个顶点标号,如右图所示.计算三角形的个数,首先要明确三角形的判定方法,怎么判断一个三角形是三角形.我们用边的相交来判定,在图中选择三条边,如果这三条边两两相交且交点就是某一条边的顶点 ...

最新文章

  1. keras 的 example 文件 mnist_sklearn_wrapper.py 解析
  2. mysql建立pdm模型_如何使用PowerDesigner创建物理数据模型(PDM)
  3. Python语言pip升级python-augeas失败之解决办法
  4. javaScript第五天(2)
  5. Spring Boot官网概述
  6. JavaScript 设计模式之代理模式
  7. MultipartFile转为File
  8. 基于STEP7 V5.xWinCC V7.x快速开发项目
  9. 测试用ASP.NET建立一个在线RSS新闻聚合器
  10. UIKeyboardType键盘
  11. 无线网路中的虚拟AP技术
  12. word文档保护密码忘 了,怎么取消格式和编辑保护
  13. TTL和CMOS输出端连接注意
  14. 地铁路线程序C语言,个人作业-北京地铁出行路线规划命令行程序完成总结
  15. 在eclipse中编写word count的Java程序打包到虚拟机中运行
  16. 尚学堂JAVA高级学习笔记_2/2
  17. 臭名昭著的Java”
  18. c语言课程设计三色球问题,C++三色球问题描述与算法分析
  19. 微带线特性阻抗计算公式_几种计算微带线特性阻抗的方法.pdf
  20. zcu102出现运行可执行程序时出现的错误

热门文章

  1. 计算机组成原理(一)计算机系统概述
  2. 使用ISE一键生成bit文件
  3. #if/#else/#endif
  4. 不可靠的信号、可靠信号
  5. 7年老Android一次操蛋的面试经历,深度好文
  6. configure: error: You need a C++ compiler for C++ support.
  7. AndroidStudio怎样导入library项目开源库 - 转
  8. 遇到attemp to invoke virtual method
  9. 从《在小吃店遇见凯恩斯》初识经济
  10. 解决iphone填写表单时,表单项获取焦点时往下拉屏,导致顶部标题栏下滑错位...