2016年亚太地区测试圆满结束

时间:2019-03-09 18:37:19

标签: java algorithm

我正在尝试使用Google APAC Question进行练习,但是提交的内容显示我的解决方案不正确。

  

某个国家的宪法规定,领导人是   名称中包含不同数字最多的人   字母。 (国家使用大写英文字母   从A到Z。)例如,名称GOOGLE有四个不同的名称   字母:E,G,L和O。名称APAC CODE JAM有八个   不同的字母。如果该国家仅由这两个人组成,   亚太地区将由JAM CODE JAM担任领导。

     

如果有领带,名字最早出现的人   字母顺序是领导者。

     

给出该国公民的姓名列表,您可以   确定领导者是谁?

我无法看到为什么我的提交导致答案不正确。您能指出我犯错的地方吗?

对于改进解决方案的任何反馈,我也将不胜感激。

非常感谢。

int

这些是我尝试过的测试,看起来工作正常:

const D*

输出:

const int

1 个答案:

答案 0 :(得分:1)

如果两个字符串包含相同数量的不同字符,则您忘记检查字母顺序。通过在if中添加一个附加的findLeader子句,可以很容易地纠正这一点:

if (maxCount < counter) {
    leader = name;
    maxCount = counter;
} else if(maxCount == counter && name.compareTo(leader) < 0) {
    // same number of distinct character => lexicographical ordering
    leader = name;
    maxCount = counter;
}
相关问题