【问题标题】:Sorting firstname alphabetically按字母顺序排列名字
【发布时间】:2021-02-11 23:17:11
【问题描述】:

我有一个关于代码解决挑战的问题...作为最后一个要求,它说如果两个人的分数相等,则按字母顺序对他们进行排序,例如:

以防万一:马修和伊丽莎白,第一个是马修 以防万一:克洛伊和阿比盖尔,第一个是阿比盖尔 万一:伊莎贝拉娜塔莉,先来伊莎贝拉

谁能解释排序的逻辑? 如果我们说只是比较字母,那么第一个案例应该是伊丽莎白,而不是马修

【问题讨论】:

  • 根据您提供给我们的信息,作业显然是错误的,因为 Matthew 排在 Elizabeth 之前不是按字母排序。但是我觉得您的问题中缺少重要信息。比如两个人的分数。
  • 还有姓氏吗?按名称排序通常意味着按姓氏排序,然后是名字。

标签: java algorithm sorting logic alphabetical


【解决方案1】:

我不知道完整的问题,所以我不能肯定地说,但你说“如果两个人的分数相等,那么就按字母顺序排序。”最有可能的是,伊丽莎白的得分低于马修。如果伊丽莎白和马修的分数相同,那么伊丽莎白将首先出现。

【讨论】:

    【解决方案2】:

    尝试使用 Map,先按值排序,然后按键排序,假设分数是值,名称是键。

    看看implementation of above suggestion

    【讨论】: