قيد العمل
متوسط

التعليمات

بيان المشكلة

طُلب منك إيجاد أعلى x ملياردير من حيث الثروة الصافية في مجموعة معطاة من البلدان (عدد البلدان = N). ولتنفيذ ذلك، مُنحت صلاحية الوصول إلى API تُرجع تفاصيل المليارديرات حسب البلد.

ولتسهيل الوصول إلى API، يمكنك استخدام موصل عميل ims/billionairehub للاتصال بـ API التي تُرجع تفاصيل المليارديرات حسب البلد.

import ims/billionairehub;

# Client ID and Client Secret to connect to the billionaire API
configurable string clientId = ?;
configurable string clientSecret = ?;

public function getTopXBillionaires(string[] countries, int x) returns string[]|error {
    // Create the client connector
    billionairehub:Client cl = check new ({auth: {clientId, clientSecret}});

    // TODO Write your logic here
    return [];
}

القيود

  • 1 <= N <= 5
  • 1 <= x <= 10

المثال 1

المدخل

Countries: ["United States"]
Limit: 3

المخرج

["Elon Musk", "Jeff Bezos", "Bill Gates"]

المثال 2

المدخل

Countries: ["China", "India"]
Limit: 5

المخرج

["Mukesh Ambani", "Gautam Adani & family", "Zhong Shanshan", "Zhang Yiming", "Ma Huateng"]

بيئة الاختبار

  • تم تزويدك بـ Client ID و Client Secret للاتصال بـ API المليارديرات في tests/Config.toml. يمكنك استخدامهما لتهيئة العميل.
  • استخدم bal test لتشغيل تنفيذك واختباره.

تلميحات

  • يمكن استخدام العميل في حزمة ims/billionairehub لاستدعاء API جلب المليارديرات حسب البلد. ويمكنك تحديدًا استخدام الطريقة البعيدة getBillionaires("<country>").
  • يمكنك أولًا إيجاد أغنى الأشخاص في كل بلد ثم دمجهم لإيجاد أعلى x
  • ستكون تعبيرات الاستعلام ملائمة للتصفية والترتيب

المصدر

استكشف مصدر هذا التمرين.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Ballerina Exercism

مستعد لبدء ؟

سجّل في Exercism لتتعلّم وتتقن Ballerina عبر 60 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.