排序数组枚举+双指针。 代码 1234567891011def triangleNumber(self, nums: List[int]) -> int: n = len(nums) res = 0 nums.sort() for i in range(n): j, k = i - 1, 0 while j > k: while j > k and nums[j] + nums[k] <= nums[i]: k += 1 res += j - k j -= 1 return res 文章作者: Dawei Jin文章链接: https://davekim3872.github.io/2021/08/04/valid-triangle/版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Dave是只学习基!leetcode算法 打赏微信Wechat支付宝Alipay上一篇Leetcode 40. 组合总和 II下一篇剑指Offer 45. 把数组排成最小的数 相关推荐 2020-08-12Leetcode 384.打乱数组 2021-07-09Leetcode 31. 下一个排列 2021-07-20二叉树的层序遍历 2021-08-17Leetcode 526. 优美的排列 2021-08-04Leetcode 40. 组合总和 II 2021-07-23剑指offer 20. 表示数值的字符串 评论ValineLivere