يتم إعطاؤك مقتطف رمز يحتوي على تعريف الدالة `test_case_9()`. مهمتك هي إكمال الوظيفة عن طريق كتابة تطبيق يحل المشكلة التالية.

يتم إعطاؤك قائمة "أرقام" من الأعداد الصحيحة. مهمتك هي العثور على طول أطول متتالية لاحقة متزايدة بـ "الأعداد".

التسلسل اللاحق هو تسلسل يمكن استخلاصه من تسلسل آخر عن طريق حذف بعض العناصر أو عدم حذف أي عناصر دون تغيير ترتيب العناصر المتبقية. على سبيل المثال، `[2، 4، 6]` هي نتيجة لاحقة لـ `[1، 2، 3، 4، 5، 6]`.

التسلسل اللاحق المتزايد هو التسلسل الذي تكون فيه العناصر في ترتيب متزايد بشكل صارم. على سبيل المثال، في القائمة `[1، 3، 2، 4، 5، 1]`، أطول متتالية فرعية متزايدة هي `[1، 2، 4، 5]` بطول 4.

اكتب دالة `longest_increasing_subsequence(nums: List[int]) -> int` تُرجع طول أطول تسلسل فرعي متزايد بـ `nums`.

**قيود:**

* 1 <= لين(الأعداد) <= 1000
* -10^9 <= الأعداد[i] <= 10^9
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}