File tree Expand file tree Collapse file tree 3 files changed +41
-0
lines changed Expand file tree Collapse file tree 3 files changed +41
-0
lines changed Original file line number Diff line number Diff line change 257257- [ 518 Coin Change II] ( https://leetcode.com/problems/coin-change-ii/description/ )
258258- [ 530 Minimum Absolute Difference in BST] ( https://leetcode.com/problems/minimum-absolute-difference-in-bst/description/ )
259259- [ 594 Longest Harmonious Subsequence] ( https://leetcode.com/problems/longest-harmonious-subsequence/description/ )
260+ - [ 611 Valid Triangle Number] ( https://leetcode.com/problems/valid-triangle-number/description/ )
260261- [ 637 Average of Levels in Binary Tree] ( https://leetcode.com/problems/average-of-levels-in-binary-tree/description/ )
261262- [ 643 Maximum Average Subarray I] ( https://leetcode.com/problems/maximum-average-subarray-i/description/ )
262263- [ 646 Maximum Length of Pair Chain] ( https://leetcode.com/problems/maximum-length-of-pair-chain/description/ )
Original file line number Diff line number Diff line change 1+ from typing import List
2+
3+
4+ class Solution :
5+ """Base class for all LeetCode Problems."""
6+
7+ def triangleNumber (self , nums : List [int ]) -> int :
8+ """
9+ Given an integer array nums, return the number of triplets chosen from the
10+ array that can make triangles if we take them as side lengths of a triangle.
11+ """
12+ nums .sort ()
13+ num_triangles = 0
14+ for k in range (2 , len (nums )):
15+ i , j = 0 , k - 1
16+ while i < j :
17+ if nums [i ] + nums [j ] > nums [k ]:
18+ num_triangles += j - i
19+ j -= 1
20+ else :
21+ i += 1
22+ return num_triangles
Original file line number Diff line number Diff line change 1+ from typing import List
2+
3+ import pytest
4+
5+ from awesome_python_leetcode ._611_valid_triangle_number import Solution
6+
7+
8+ @pytest .mark .parametrize (
9+ argnames = ["nums" , "expected" ],
10+ argvalues = [
11+ ([2 , 2 , 3 , 4 ], 3 ),
12+ ([4 , 2 , 3 , 4 ], 4 ),
13+ ],
14+ )
15+ def test_func (nums : List [int ], expected : int ):
16+ """Tests the solution of a LeetCode problem."""
17+ num_triangles = Solution ().triangleNumber (nums )
18+ assert num_triangles == expected
You can’t perform that action at this time.
0 commit comments