2015-4-2的阿里巴巴笔试题:乱序的序列保序输出(bit数组实现hash)
2015-04-02 22:47
309 查看
分布式系统中的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,对于(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)输出为一行。
#include<stdio.h> int main() { int num ; while(scanf("%d",&num)!=EOF) { int want = 1; //每行第一个数 int end = 1; //每行最后一个数 int tem , i ; long long x = 0 ; for( i = 0; i < num ; ++ i) { scanf("%d",&tem); x = x^(1<<tem); //设置第tem位为1 if( tem == want) { ++ want ; int fir = 1 ; while ((x&(1<<end))!=0)//判断第tem位是否为1 { if(fir == 1) { printf("%d",end); fir = 0; } else printf(",%d",end); ++end; } printf("\n"); want = end ; } } } return 0; }
相关文章推荐
- 阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
- 阿里巴巴 2015 实习笔试题 分布式系统中的RPC请求经常出现乱序的情况 写一个算法来将一个乱序的序列保序输出
- 阿里笔试题,乱序序列的保序输出。
- google校招笔试题 2.2 长度为n的数组乱序存放着0至n-1. 现在只能进行0与其他数的swap,请设计并实现排序。
- JavaScript中数组的排序、乱序和搜索实现代码
- JavaScript中数组的排序、乱序和搜索实现代码
- 数组遍历的两种方法和hash的实现
- 关于一道J笔试或者机试题的Java实现:从键盘输入一串字符,翻转后输出(要求不使用string相关类即对象)
- 代码实现:在字节数组中查找16进制字节序列(C#)
- 嘿牛程序员_成都传智博客_讨论字符串中字符出现的次数(续一:通过数组实现按次序输出)
- 数组输出函数的实现
- 用Perl的hash数组实现个性化监控
- 腾讯笔试题之数组最大子序列和O(n)
- java实现递归将数组逆序输出
- 一次输出8bit_n4_m序列Simulink仿真Verilog实现
- Java数组反射实现动态的判断一个对象书否是数组,并且对数组进行拆包输出 。。
- 阿里巴巴笔试题--求数组中和为给定数所有的组合
- 请输出开如"1A 2B 3C ........26Z"的字符序列,用集合实现
- PHP中用hash实现的数组
- Java数组反射实现动态的判断一个对象书否是数组,并且对数组进行拆包输出 。。