/*
第 6 题
腾讯面试题:
给你 10 分钟时间,根据上排给出十个数,在其下排填出对应的十个数
要求下排每个数都是先前上排那十个数在下排出现的次数。
上排的十个数如下:
【0,1,2,3,4,5,6,7,8,9】
举一个例子,
数值: 0,1,2,3,4,5,6,7,8,9
分配: 6,2,1,0,0,0,1,0,0,0
0 在下排出现了 6 次,1 在下排出现了 2 次,
2 在下排出现了 1 次,3 在下排出现了 0 次....
以此类推..
1)如果上排数列中有0,此时如果上排数列中无0,1,2,n-4这四个数,则下排数列无解;
否则下排数列中0出现的次数为n-4;1出现的次数为2;2出现的次数为1;n-4出现的次数为1;其余为0。
2)如果上排数列中无0,则下排数列全0,是其唯一解。
10
0 1 2 3 4 5 6 7 8 9
6
0 1 4 3 2 2
*/
//未判断无解
#include<iostream>
#include<stdio.h>
using namespace std;
int a[100];
int main()
{
int n,i,f;
while(scanf("%d",&n))
{
f=0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]==0) f=1;
}
if(f==0)
{
for(i=0;i<n-1;i++)
printf("0 ");
printf("0\n");
}
else
{
for(i=0;i<n;i++)
{
if(a[i]==0) printf("%d ",n-4);
else if(a[i]==1) printf("2 ");
else if(a[i]==2||a[i]==n-4) printf("1 ");
else printf("0 ");
if(i==n-1) printf("\n");
}
}
}
return 0;
}
6 给你 10 分钟时间,根据上排给出十个数,在其下排填出对应的十个数
原创
©著作权归作者所有:来自51CTO博客作者我想有个名字的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
求十个数中的最大的数==
-
C语言求十个数的乘积
求十个数的乘积的文字描述、代码及运行结果。
c语言 开发语言 后端 -
java十个数输出最大值 java输入十个数
模仿JavaAppArguments.java示例,编写编写一个程序,此程序从命令行接受多个数字,求和之后输出结果。
java十个数输出最大值 System java 命令行