给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。示例 1:输入: [2,2,3,4]
输出: 3
解释:
有效的组合是:
2,3,4 (使用第一个 2)
2,3,4 (使用第二个 2)
2,2,3思路:1. 数组排序,便于后序的处理
2. 固定最长的边c,然后采用双指针在其左侧寻找合适的 a、b:1) a从最左侧开始(nums[0])2) b从最右侧开始(nums[i-1])3. 如果nums[left] + nums[right] > nums[i],说明[left,right]、 [left+1,right]...[right-1,right] 均满足条件,以 nums[right] 为中间边的情况已全部考虑过,然后 right -= 14. 如果nums[left] + nums[right] <= nums[i],两边之和太小,需要增大,left += 1class Solution:def triangleNumber(self, nums: List[int]) -> int:# 1. 排序nums.sort()# 2. 遍历count = 0for i in range(2, len(nums)):left = 0right = i - 1while left < right:if nums[left] + nums[right] > nums[i]:count += (right - left)right -= 1else:left += 1return count

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

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

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

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

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

  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. 6. Leetcode 11. 盛最多水的容器 (数组-双向双指针)

    给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) .找出其中的两条线 ...

  9. 4. Leetcode 18. 四数之和 (数组-双向双指针)

    给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] ( ...

最新文章

  1. phxpaxos编译示例
  2. 使用google云(GCP)二次利用安装kali Linux(kali browser)
  3. 8.17——继续熟悉linux的命令行
  4. 思考如何保证线程并行的数据安全性
  5. Java多线程(join方法)
  6. 查询服务器硬件配置的命令
  7. python笔记之ArcPy简介
  8. 利用QGIS免费批量获取Google、Bing等高分辨率卫星影像
  9. t32 emulation debug port failed
  10. python中with open as f什么意思_Python中 with open(file_abs,'r') as f: 的用法以及意义
  11. 直播系统开发,直播平台源码切忌一成不变
  12. 用Python实现表白代码 抖音最火的整蛊表白小程序如何做出来的
  13. vue 视频 时间进度条组件-使用npm组件
  14. 硬盘10K和15K有什么区别?
  15. python改变数组形状_NumPy数组的变形(改变数组形状)
  16. 继承属性inh和综合属性syn的作用
  17. bios设置raid启动模式Linux,华硕主板BIOS里哪项是开启RAID方式?
  18. 快过年了别着急玩耍,学会指针轻松一整年的学习
  19. 滴滴技术牛逼吗?看它开源了哪些有意思的项目
  20. Bat批处理方式发邮件

热门文章

  1. 程序员常犯的五个非技术性错误
  2. win10下使用python访问vmbox中的redis
  3. go 使用mongodb
  4. 解决maven cannot change version of project facet dynamic web module to 3.0
  5. 牛B的调试工具:OzCode
  6. nginx常用代理配置
  7. SQL Server 2012笔记分享-52:可用性指标
  8. Lab_2 OSPF
  9. 怎样使 Python 输出时不换行?
  10. k8s pod MySQL环境变量,配置 – 在Docker中相当于env-file的Kubernetes