给你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 定义两个数组 top,bottom
2 初始话数组
3 flag=1;//flag为flag表明要回退
do
{
for(i=0;i<length;i++)
{
if(bottom[i]!=getnum(i)} //getnum(i)表明下半部分i出现的次数,bottom[i]表明记录的i出现次数
{
bottom=getnum(i);
success=false; //遍历一遍后开始回退,很快
}
}while(success==false)
4 打印