1. 题目

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

示例 1:
输入: [2,2,3,4]
输出: 3
解释:
有效的组合是:
2,3,4 (使用第一个 2)
2,3,4 (使用第二个 2)
2,2,3注意:
数组长度不超过1000。
数组里整数的范围为 [0, 1000]。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-triangle-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 双指针

  • 排序,固定一端,剩余两个用双指针法遍历元素
  • 注意需要先固定大的端,因为如果固定最小的端,当不满足三角形时,两个指针都可以移动来满足条件。
class Solution {public:int triangleNumber(vector<int>& nums) {if(nums.size() < 3)return 0;sort(nums.begin(), nums.end());int i, j, k, count = 0;for(i = nums.size()-1; i >= 2; --i){j = i-1;k = 0;while(k < j){if(nums[k]+nums[j] <= nums[i])// nums[i] 最大++k;else{count += j-k;--j;}}}return count;}
};

LeetCode 611. 有效三角形的个数(双指针)相关推荐

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

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

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

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

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

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

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

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

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

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

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

    611. 有效三角形的个数 给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数. 示例 1: 输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 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. Intellij IDEA 竟然把 Java8 的数据流问题这么完美的解决掉了!
  2. IDEA 系列安装资料及教程
  3. android低功耗蓝牙连接失败_低功耗蓝牙 AoA定位系统为室内定位和资产跟踪 提供亚米级精度位置服务...
  4. CentOS 初体验七:常用命令
  5. [android] listview入门
  6. 爱情七十一课,低调恋爱
  7. 鸿蒙比苹果流畅,华为鸿蒙应用恢复率优于苹果iOS,无惧老化36个月持续流畅
  8. 拓端tecdat|中国消费者共享汽车使用情况调查
  9. JPack插件创建了开源项目,欢迎wow player 加入
  10. 【附源码】计算机毕业设计SSM汽车4S店服务管理系统
  11. 关于(backgroundImages -120 0 no-repeate)
  12. 简单的外网映射工具natapp操作
  13. OpenDaylight(ODL)学习笔记
  14. 如何增强云端医疗健康数据的隐私保护
  15. Visual Studio Code 基本插件
  16. SMT打样-邮票孔拼版制作方法
  17. parentNode和offsetParent的使用
  18. 一个仿知乎的问答论坛
  19. 齐博 src=/do/js.php?id=775,齐博CMS存储型XSS可getshell(组合利用)
  20. C#语言实例源码系列-鼠标设置

热门文章

  1. JPG PNG GIF BMP图片格式的区别
  2. c++远征之多态篇——运行时类型识别(RTTI)
  3. C++的运算符重载(转)
  4. pynput模块—键盘鼠标操作和监听
  5. Samba远程代码执行漏洞(CVE-2017-7494)复现
  6. Theano 更多示例
  7. 局部内部类和匿名内部类的对比
  8. MsSql正反表达式
  9. gcc/g++编译器的优化
  10. java怎么调kettle_通过Java调取Kettle的结果集