611. 有效三角形的个数

难度中等321收藏分享切换为英文接收动态反馈

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

示例 1:

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

注意:

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

通过次数52,784提交次数99,114

请问您在哪类招聘中遇到此题?

题目分析

我恨二分查找,下周就是双指针了,我爱双指针

反正这样就是可以去重,天知道为什么,我也懒得证明┭┮﹏┭┮

反正就是在0和upper-j+1里要取一个最大值,天知道为什么,我也懒得证明┭┮﹏┭┮

双指针可以优化,为什么呢???

因为有序!!!!!!懂了吗???

别来折磨我这个只学了三个月的新手了,淦

AC代码

class Solution {
public:int triangleNumber(vector<int>& nums) {int sum = 0;int n = nums.size();int upper,left,right,mid,target;sort(nums.begin(),nums.end());for(int i = 0;i<n;i++){for(int j = i + 1;j<n;j++){left = 0,right = n-1;upper = nums[i] + nums[j] - 1;//两边之和大于第三边target = upper;left = 0 ,right = n - 1;while(left<right){mid = left + (right - left + 1 >> 1);if(nums[mid]>target){right = mid - 1;}else{left = mid;}}upper = right;sum += max(0,(upper - j));}}return sum;}
};

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

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

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

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

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

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

  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. Hadoop - MapReduce
  2. angularjs的$on、$emit、$broadcast
  3. Linux不得不知道的目录和文件
  4. 港中文开源基于PyTorch的多任务人脸识别框架
  5. JavaScript垃圾收集-标记清除和引用计数
  6. php动态添加属性,php – Yii2.动态添加属性和规则到模型
  7. 浅谈FOF场外投资交易流程
  8. win服务器系统安全模式,安全模式详解
  9. 计算机毕业设计(69)php小程序毕设作品之疫苗预约小程序系统
  10. 前端开发app程序 用什么模拟器测试安卓_【移动端测试】安卓模拟器简介和adb使用...
  11. 数组按照元素个数由多到少排序
  12. 袋鼠过河python
  13. win10设置同时连接有线和wifi同时能访问内网和外网
  14. 笔记25 笨办法习题35分支和函数路线图
  15. js小白之路(十一)——原型与继承
  16. 微信h5支付前端代码
  17. 什么是长尾关键词?长尾关键词有什么价值?
  18. android studio gpu debugging tools,Debugging Tools
  19. Android.mk使用
  20. python语言的变量特点随时_完美契合人类习惯的Python变量和基本数据类型

热门文章

  1. windows用winscp定时下载文件
  2. SFTP工具winscp下载与连上docker
  3. python打印空心三角
  4. 【数据结构】图的存储结构(邻接矩阵、邻接表、十字链表、邻接多重表)及实现(C语言)
  5. 实战篇:SUSE 15 SP3 安装 Oracle 19C RAC 数据库
  6. 尚硅谷周阳mysql高级
  7. 企业,公司职位名称大全(中英文对照)
  8. Android room清空表,Android Room 实现简单的增删改查(一)
  9. Facebook应用开发-之获取直播视频分析数据
  10. 【译文】构建一个图书推荐系统 – 基础知识、knn算法和矩阵分解