算法题(出租)

简介: 算法题(出租)


那么一道题该怎么做??

思路:先把电话号码的每个数字转换成一个数组的下标(除去电话号码中的重复的数字),再把这个数组的下标由大到小存放到另外一个数组中, 再通过这个去重后的电话号码的数组找回电话号码所对应的下标,得到对应的下标的数组。具体细节参考以下代码及注释。


int main()
{
  char tel[12] = { 0 };
  int arr[10] = { 0 };
  int index[12] = { 0 };
  int a[10] = { 0 };
  scanf("%s", tel);
  int i = 0;
  for (i = 0; i < 11; i++)
  {
    a[tel[i] - '0'] = 1;//a数组的下标和电话号码的数字相同,例如1813820100
                        //中的1就是a[1]中的1,同理8也是a[8]中的8
  }
  int num = 0;
  for (i = 9; i >= 0; i--)
  {
    if (a[i] == 1)//利用标记好的数值为1的元素的下标找回电话号码的数字并逆序排放
    {       //得到的arr数组就是{8,3,2,1,0};
      arr[num] = i;
      num++;
    }
  }
  for (i = 0; i < 11; i++)//遍历电话号码
  {
    int k = 0;
    for (k = 0; k < 10; k++)//找到电话号码的每一个数字对应的下标
    {
      if (tel[i] - '0' == arr[k])
      {
        break;
      }
    }
    index[i] = k;//找到的k就是对应的下标,把它写入下标数组中
  }
  //下面这个打印就当然不是问题啦
  printf("int[] arr = new int[]{");
  printf("%d", arr[0]);
  for (i = 1; i < num; i++)
  {
    printf(",%d", arr[i]);
  }
  printf("};\n");
  printf("int[] index = new int[]{");
  printf("%d", index[0]);
  for (i = 1; i < 11; i++)
  {
    printf(",%d", index[i]);
  }
  printf("};\n");
  return 0;
}
相关文章
|
存储 缓存 算法
流动性质押挖矿分红开发源码版,流动性质押挖矿分红系统开发技术详细及分析
共识模块主要由几个组件组成,世代epoch、提案消息缓存服务msgcache、共识消息处理引擎engine、共识消息验证器verifier、提案消息存储服务forest、投票处理器voter、共识活性服务pacemaker、wal存储wal、节点间共识信息同步服务compensator、各模块相互配合实现maxbft流水线共识算法
|
存储 前端开发 算法
流动性质押挖矿分红系统开发详细逻辑丨流动性质押挖矿分红开发成品源码案例部署
 DAPP,即Decentralized Application,非中心化应用。自P2P网络出现以来DAPP就已经存在,是一种运行在计算机P2P网络而不是单个计算机上的应用程序。DAPP以一种不受任何单个实体控制的方式存在于互联网中,它的部分或全部逻辑是被存储在去中心化网络中的,而这个去中心化网络在区块链的世界里是叫做公有链。
苹果四大供应商向高通索赔90亿;金立否认裁定破产清算
他们于去年7月向美国法院控告高通违反反垄断法,借此反击高通在去年5月控告他们拒绝为代工苹果产品向高通支付专利授权费。
491 0
|
区块链
蚂蚁金服区块链已开出近60万张医疗电子票据,市民报销看病更方便!
小蚂蚁说: 从前,看病经常都是5分钟排队两小时,诊间跑断腿手上一堆票。而如今,在蚂蚁金服区块链技术的支持下,这个大家熟悉的经历很快将成为过去。 前言 据了解,蚂蚁金服区块链携手航天信息已经在悄然试水区块链医疗电子票据服务。
1834 0

热门文章

最新文章

下一篇
开通oss服务