يتم إعطاؤك قائمة بالأعداد الصحيحة `nums`، التي تمثل اجتياز الطلب المسبق لأقصى شجرة ثنائية. إنشاء وإرجاع الحد الأقصى للشجرة الثنائية.

الشجرة الثنائية القصوى هي شجرة ثنائية حيث يكون الجذر هو الحد الأقصى للعنصر في المصفوفة. الشجرة الفرعية اليسرى هي أقصى شجرة ثنائية تم إنشاؤها من الجزء الأيسر من المصفوفة، والشجرة الفرعية اليمنى هي أقصى شجرة ثنائية تم إنشاؤها من الجزء الأيمن من المصفوفة.

قم بتنفيذ وظيفة "constructMaximumBinaryTree"، التي تأخذ قائمة "nums" كمدخل وتعيد العقدة الجذرية لأقصى شجرة ثنائية.

لقد تم إعطاؤك التنفيذ الجزئي لفئة "الحل":

```
حل الطبقة:
    def buildMaximumBinaryTree(self, nums: List[int]) -> TreeNode:
        
        مواطنه maxTree (الأعداد):
            idx = nums.index(max(nums))
            العقدة = TreeNode(nums[idx])
            إذا لين (الأعداد [idx+1:]) > 0:
```

أكمل تنفيذ وظيفة `constructMaximumBinaryTree`، باستخدام الوظيفة المساعدة `maxTree` المتوفرة، لإنشاء وإرجاع الحد الأقصى للشجرة الثنائية.

**ملحوظة:**

- سيكون طول `الأرقام` في النطاق `[1، 1000]`.
- قيمة كل عنصر في `nums` ستكون في النطاق `[0, 10000]`.
- لن يكون هناك أي عناصر مكررة في `الأرقام`.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}