【发布时间】:2018-06-06 08:12:28
【问题描述】:
问题:考生可以根据自己的意愿多次参加入学考试。最后考虑所有尝试的平均分数。给定分数列表。找到得分最高的候选人[平均分]。
String scores[][] = {{"Ram","155"},
{"Shyam","145"},
{"Ram","156"},
{"Balram","159"},
{"Balram","150"},
{"Ram","135"},
{"Mira","156"},
{"Mira","152"},
{"Shyam","155"}};
分数以上述二维数组的形式给出。需要建议以有效的方式解决此问题。
【问题讨论】:
-
“需要改进时间复杂度和空间复杂度的建议。”你认为这段代码的时间和空间复杂度是多少;为什么你认为他们需要改进,而不是这段代码的其他方面;你怎么知道它们可以改进?
-
我认为时间和空间复杂度是 O(m + n ),其中 m 是候选人的数量,n 是候选人的最大尝试次数。我使用 2 个循环来做到这一点,应该有更好的解决方案。所以寻求建议。
标签: java arrays arraylist data-structures java-stream