[LeetCode] 611. Valid Triangle Number
来源:互联网 发布:浏览器源码 编辑:程序博客网 时间:2024/06/07 09:06
Given an array consists of non-negative integers, your task is to count the number of triplets chosen from the array that can make triangles if we take them as side lengths of a triangle.
Example 1:
Input: [2,2,3,4]Output: 3Explanation:Valid combinations are: 2,3,4 (using the first 2)2,3,4 (using the second 2)2,2,3
Note:
The length of the given array won’t exceed 1000.
The integers in the given array are in the range of [0, 1000].
// 29msclass Solution {public: int triangleNumber(vector<int>& nums) { sort(nums.begin(), nums.end()); int total = 0; for (int i = 0; i < nums.size(); i++) { int k = 0; for (int j = i + 1; j + 1 < nums.size(); j++) { k = max(j + 1, k); while (k < nums.size() && nums[k] < nums[i] + nums[j]) k++; total += (k - j - 1); } } return total; }};
// 19msclass Solution {public: int triangleNumber(vector<int>& nums) { sort(nums.begin(), nums.end()); int total = 0; for (int k = nums.size() - 1; k >= 2; k--) { int i = 0, j = k - 1; while (i < j) { if (nums[i] + nums[j] > nums[k]) { total += (j - i); j--; } else { i++; } } } return total; }};
阅读全文
0 0
- [LeetCode]611. Valid Triangle Number
- [LeetCode] 611. Valid Triangle Number
- [leetcode]611. Valid Triangle Number
- leetcode 611. Valid Triangle Number
- [leetcode] 611. Valid Triangle Number
- Leetcode:611. Valid Triangle Number
- leetcode 611. Valid Triangle Number
- leetCode-Valid Triangle Number
- 【LeetCode】611.Valid Triangle Number解题报告
- [LeetCode 611] Valid Triangle Number
- 611. Valid Triangle Number
- 611. Valid Triangle Number
- 611. Valid Triangle Number
- 611. Valid Triangle Number
- 611. Valid Triangle Number
- 611. Valid Triangle Number
- 611. Valid Triangle Number
- 611. Valid Triangle Number
- 7.18
- 新手上路之 js 创建对象篇 代码笔记
- errno
- HDFS-源码分析(1)-序列化基础
- ImageLoader的简单应用
- [LeetCode] 611. Valid Triangle Number
- 李阳英语全集
- HDU 1027(全排列)
- WIN XP SP2系统经常性死机问题解决历程
- 多态
- 周志华《Machine Learning》 学习笔记系列--目录
- Java集合——ArrayList
- 程序员面试金典:无缓存交换、井字棋
- laravel上传图片步骤