一道腾讯面试题,自己解出,供大家参考参考

第6题
------------------------------------
腾讯面试题:  
给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数  
要求下排每个数都是先前上排那十个数在下排出现的次数。  
上排的十个数如下:  
【0,1,2,3,4,5,6,7,8,9】

初看此题,貌似很难,10分钟过去了,可能有的人,题目都还没看懂。  

举一个例子,  
数值: 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次....  
以此类推..  

 

 


#include "stdafx.h"
#include "math.h"
#include "stdlib.h"
#include "stdio.h"

int d[10]={0,1,2,3,4,5,6,7,8,9};
int b[10]={0,1,2,3,4,5,6,7,8,9};

int bf(int x){
 int count=0;
 for(int i=0;i<10;i++)
 {
  if(x==b[i])
   count++;
 }
 if(count<10)
   return count;

}

 

 

int _tmain(int argc, _TCHAR* argv[])
{
 
 
 int i,j;
 int temp;
 bool Flag=false;
 while(Flag == false){
  Flag=true;
  for(i=0;i<10;i++){
   temp=bf(d[i]);
   if(temp!=b[i])
   {
    b[i]=temp;
    Flag=false;
   }

  }
 }
 for(i=0;i<10;i++)
  printf("%d",b[i]);

 scanf("%d",&j);


}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值