开发中
中等

说明

问题描述

你需要在一组给定的国家(国家数量为N)中,按净资产找出排名前x的亿万富翁。为此,你可以访问一个 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"]

测试环境

  • 连接亿万富翁 API 所需的 Client ID 和 Client Secret 已经在tests/Config.toml中提供给你。你可以用它们来初始化客户端。
  • 使用bal test来运行并测试你的实现。

提示

  • 可以用ims/billionairehub包的客户端来调用按国家获取亿万富翁的 API。具体来说,你可以使用getBillionaires("<country>")这个远程方法。
  • 你可以先找出每个国家最富有的人,然后再把它们合并起来,找出排名前x的人
  • 查询表达式在过滤和排序时会很方便

来源

查看这道练习的来源。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Ballerina Exercism

准备好开始 了吗?

注册 Exercism,借助 60 个练习 和真人导师指导,学习并掌握 Ballerina,全部免费。