Python程式:查詢優質三元組的數量
假設我們有一個數組nums,以及三個不同的整數a、b和c。我們需要找到優質三元組的數量。如果滿足以下條件,則三元組(nums[i],nums[j],nums[k])被稱為優質三元組:
0 <= i < j < k < nums陣列元素個數
|nums[i] - nums[j]| <= a
|nums[j] - nums[k]| <= b
|nums[i] - nums[k]| <= c
我們需要計算優質三元組的數量。
因此,如果輸入類似於nums= [5,2,3,3,12,9],a = 7,b = 2,c = 3,則輸出將為4,因為優質三元組為[(5,2,3), (5,2,3), (5,3,3), (2,3,3)]
為了解決這個問題,我們將遵循以下步驟:
res := 0
對於 i 從 0 到 nums 大小 - 1,執行:
對於 j 從 i+1 到 nums 大小 - 1,執行:
對於 k 從 j+1 到 nums 大小 - 1,執行:
如果 |nums[i] - nums[j]| <= a 且 |nums[j] - nums[k]| <= b 且 |nums[i] - nums[k]| <= c,則
res := res + 1
返回 res
示例 (Python)
讓我們來看下面的實現,以便更好地理解:
def solve(nums, a, b, c): res = 0 for i in range(len(nums)): for j in range(i+1, len(nums)): for k in range(j+1, len(nums)): if abs(nums[i] - nums[j]) <= a and abs(nums[j] - nums[k]) <= b and abs(nums[i] - nums[k]) <= c: res += 1 return res nums= [5,2,3,3,12,9] a = 7 b = 2 c = 3 print(solve(nums, a, b, c))
輸入
[5,2,3,3,12,9], 7, 2 3
輸出
4
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP