我正在尝试使用Google APAC Question进行练习,但是提交的内容显示我的解决方案不正确。
某个国家的宪法规定,领导人是 名称中包含不同数字最多的人 字母。 (国家使用大写英文字母 从A到Z。)例如,名称GOOGLE有四个不同的名称 字母:E,G,L和O。名称APAC CODE JAM有八个 不同的字母。如果该国家仅由这两个人组成, 亚太地区将由JAM CODE JAM担任领导。
如果有领带,名字最早出现的人 字母顺序是领导者。
给出该国公民的姓名列表,您可以 确定领导者是谁?
我无法看到为什么我的提交导致答案不正确。您能指出我犯错的地方吗?
对于改进解决方案的任何反馈,我也将不胜感激。
非常感谢。
int
这些是我尝试过的测试,看起来工作正常:
const D*
输出:
const int
答案 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;
}