阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
2015-04-14 09:21
429 查看
分布式系统中的RPC请求经常出现乱序的情况。
写一个算法来将一个乱序的序列保序输出。例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是:
1
2
3, 4, 5
6
7, 8, 9, 10
上述例子中,3到来的时候会发现4,5已经在了。因此将已经满足顺序的整个序列(3, 4, 5)输出为一行。
要求:
1. 写一个高效的算法完成上述功能,实现要尽可能的健壮、易于维护
2. 为该算法设计并实现单元测试
我的思路是:
假设输入就是1到10的数字,那么可以申请一个簿记数组book[11],用来记录已经到到的数字,但是我们输出还是按照从1开始到10进行输出,假设欲输出的数字为j,那么当j=1时,我们要观察簿记数组b[j]是否有记录,若有记录,则进行输出,若没有记录,则等待下一次观察。
输出结果:
写一个算法来将一个乱序的序列保序输出。例如,假设起始序号是1,对于(1, 2, 5, 8, 10, 4, 3, 6, 9, 7)这个序列,输出是:
1
2
3, 4, 5
6
7, 8, 9, 10
上述例子中,3到来的时候会发现4,5已经在了。因此将已经满足顺序的整个序列(3, 4, 5)输出为一行。
要求:
1. 写一个高效的算法完成上述功能,实现要尽可能的健壮、易于维护
2. 为该算法设计并实现单元测试
我的思路是:
假设输入就是1到10的数字,那么可以申请一个簿记数组book[11],用来记录已经到到的数字,但是我们输出还是按照从1开始到10进行输出,假设欲输出的数字为j,那么当j=1时,我们要观察簿记数组b[j]是否有记录,若有记录,则进行输出,若没有记录,则等待下一次观察。
#include<iostream> using namespace std; int main() { int a[10]={1, 2, 5, 8, 10, 4, 3, 6, 9, 7}; int book[11]; memset(book,0,sizeof(book));//簿记数组清0 int j=1; int flag=0; for(int i=0;i<10;++i) { book[a[i]]=1;//来了一个数,簿记 while(book[j]&&j<11) { if(flag==1) cout<<","; else flag=1; cout<<j; j++; } if(flag==1){ flag=0; cout<<endl; } } return 0; }
输出结果:
相关文章推荐
- 阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
- 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
- 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
- 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
- 阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况
- 阿里2015 实习笔试题笔记 分布式系统中的RPC请求经常出现乱序的情况
- 2015-4-2的阿里巴巴笔试题:乱序的序列保序输出(bit数组实现hash)
- 写一个算法来将一个乱序的序列保输出
- 以下措施中,不可能改进分布式系统读写(IO)性能的有____----阿里巴巴2015实习生笔试题
- 在一个元素个数为N的数组里,找到升序排在N/5位置的元素的最优算法时间复杂度是----阿里巴巴2015实习生笔试题
- 一致性问题和Raft一致性算法——一致性问题是无法彻底解决的,可以说一个分布式系统可靠性达到99.99…%,但不能说它达到了100%
- 编写一段程序,从标准输入读取string对象的序列直到连续出现两个相同的单词或者所有单词都读完为止。使用while循环一次读取一个单词,当一个单词连续出现两次是使用break语句终止循环。输出连续重复出现的单词,或者输出一个消息说明没有人任何单词是重复出现的。
- 阿里巴巴2015算法工程师实习生笔试卷
- 阿里巴巴2015算法工程师实习生笔试卷解题分析
- 算法十二:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 求两个字符串公共子序列的最大长度(参考阿里巴巴2015研发笔试)(简单)
- 在64位系统以及64位编译器下字节对齐----阿里巴巴2015实习生笔试题
- 下面的函数哪个是系统调用而不是库函数()?----阿里巴巴2015校招研发在线笔试题
- 10、 java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况
- 阿里巴巴2015算法工程师实习生笔试卷