在采访中遇到这个问题。这个问题的最佳解决方案是什么?
消息对象被发送出去并到达服务器。消息编号为[0,n]。消息以随机方式到达。
如果从[0到传入的数字]的所有消息都已到达服务器,则编写一个接收数字的方法并将列表从[0传递回到传入的数字]。如果从[0到传入的数字]的所有消息都没有到达,则返回null。
答案 0 :(得分:0)
根据标记的数字对消息进行排序,然后获取列表的长度。如果长度等于给定的数字,则所有消息都已到达。
例如,如果我有一组消息:
int[] messages = [0, 3, 2, 1, 8, 6, 5];
public void confirmArrival(int[] list, int number)
{
// Implement the sort algorithm for list
// ...
if (list.length() == number + 1)
{
return list;
}
return null;
}