Python 程式檢查全域性反轉和區域性反轉的數量是否相同
假設我們有一個名為 nums 的不同數字列表。這裡全域性反轉是指存在索引 i < j 使得 nums[i] > nums[j]。區域性反轉是指存在索引 i 和 i + 1 使得 nums[i] > nums[i + 1]。我們必須檢查全域性反轉的數量是否等於區域性反轉的數量。
因此,如果輸入類似於 nums = [3, 2, 4],則輸出將為 True,因為索引 0 和 1 都是全域性和區域性反轉。
為了解決這個問題,我們將遵循以下步驟:
- l := nums 的大小
- 對於 i 從 0 到 l - 3,執行:
- 對於 j 從 i + 2 到 l-1,執行:
- 如果 nums[i] > nums[j],則:
- 返回 False
- 如果 nums[i] > nums[j],則:
- 對於 j 從 i + 2 到 l-1,執行:
- 返回 True
讓我們看看以下實現以更好地理解:
示例
class Solution: def solve(self, nums): l = len(nums) for i in range(l - 2): for j in range(i + 2, l): if nums[i] > nums[j]: return False return True ob = Solution() nums = [3, 2, 4] print(ob.solve(nums))
輸入
[3, 2, 4]
輸出
True
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP