有序序列合并 题解
有序序列合并
http://www.nowcoder.com/questionTerminal/a9e943b0dab142759807d0cfb6863897
思路1:合并后用sort排序,输出
#include<bits/stdc++.h> using namespace std; int a,b; int t[205]; int main(){ scanf("%d%d",&a,&b); a += b; for(int i = 1;i <= a;i ++) scanf("%d",&t[i]); sort(t+1,t+a+1); for(int i = 1;i <= a;i ++) printf("%d ",t[i]); }
我是分割线
思路2:桶排(大佬们看看这是怎么了,没过,才90分)
(执行结果:段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起case通过率为90.00%)
#include<stdio.h> int a,b; int tmp; int t[5005]; int main(){ scanf("%d%d",&a,&b); a += b; for(int i = 1;i <= a;i ++){ scanf("%d",&tmp); t[tmp] ++; } for(int i = 1;i <= 5000;i ++) for(int j = 1;j <= t[i];j ++) printf("%d ",i); }