https://pintia.cn/problem-sets/994805046380707840/problems/994805107638517760

下面是新浪微博上曾经很火的一张图:

一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1index[1]=0 对应 arr[0]=8index[2]=3对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100

本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。

输入格式:

输入在一行中给出一个由11位数字组成的手机号码。

输出格式:

为输入的号码生成代码的前两行,其中arr中的数字必须按递减顺序给出。

输入样例:

18013820100

输出样例:

int[] arr = new int[]{8,3,2,1,0};
int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};

代码:

#include <bits/stdc++.h>
using namespace std;const int maxn = 1e5 + 10;
string s;
int pos[maxn];vector<int> num, ind;
map<int, int> mp;int main() {cin >> s;int len = s.length();for(int i = 0; i < len; i ++) {if(mp[s[i] - '0'] == 0) {mp[s[i] - '0'] = 1;num.push_back(s[i] - '0');} else continue;}sort(num.rbegin(), num.rend());for(int i = 0; i < num.size(); i ++)pos[num[i]] = i;for(int i = 0; i <len; i ++)ind.push_back(pos[s[i] - '0']);printf("int[] arr = new int[]{");for(int i = 0; i < num.size(); i ++)printf("%d%s", num[i], i != num.size() - 1 ? "," : "};\n");printf("int[] index = new int[]{");for(int i = 0; i < ind.size(); i ++)printf("%d%s", ind[i], i != ind.size() - 1 ? "," : "};");return 0;
}

$O(len)$ 

 FH

转载于:https://www.cnblogs.com/zlrrrr/p/10481447.html

PAT L1-027 出租相关推荐

  1. PAT L1 007 念数字

    题目描述: 输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出"fu"字.十个数字对应的拼音如下:0: ling 1: yi 2: er 3: san 4: si 5: ...

  2. PAT L1 047 装睡

    题目描述: 你永远叫不醒一个装睡的人 -- 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次.下面给定一系列人 ...

  3. PAT L1 043 阅览室

    题目描述: 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超过1000的正整数. ...

  4. PAT L1 016 查验身份证

    题目描述: 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10 ...

  5. PTA 程序设计天梯赛【day2】

    L1 - 019 谁先倒下 划拳是古老中国酒文化的一个有趣的组成部分.酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字.如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家 ...

  6. L1-056 猜数字 C语言,PAT L1-032 Left-pad

    根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的Re ...

  7. 团体程序设计天梯赛-练习集-java

    java不一定能都过 有星号*的都是我java过不去的 但是代码思路都是对的 如果需要c++的 可以留言 L1 L2 L3 001 Hello World 紧急救援 凑零钱 002 打印沙漏 链表去重 ...

  8. php将图片导出到表格,phpexcel 导出文档(包括导出图片)

    //phpexcel导出 包括导出图片,这边是完整的代码, 首先需要 下载 他的文档包 然后引入, 其次查询你所想导出的数据,多条就以循环遍历的的方式 把它写入到 excel文档, 这边需要注意的是图 ...

  9. ai人工智能制作视频_建立一个人工智能驱动的可搜索视频档案

    ai人工智能制作视频 In this post, I'll show you how to build an AI-powered, searchable video archive using ma ...

  10. 【CCCC】PAT : 团体程序设计天梯赛-练习集 L1 答案

    [CCCC]PAT : 团体程序设计天梯赛-练习集 L1 答案 鉴定完毕,全部水题 ヾ(•ω•`)o 标号 标题 分数 通过数 提交数 通过率 L1-001 Hello World 5 46779 1 ...

最新文章

  1. Qt中文手册 之 QTableWidgetItem
  2. ArcEngine数据删除几种方法和性能比较
  3. 十二、爬了CSDN,我发现了这些
  4. SQL2K数据库开发三十之存储过程操作删除存储过程
  5. nginx的脚本引擎(一)
  6. ClientAbortException 异常
  7. 图示SaaS:走向平台化,会产生什么变化?
  8. 学习使用ADO.NET Data Services (ADO.NET 数据服务框架) - Part 1
  9. Proteus中8259的仿真[无dos,纯手工]
  10. matlab-画折线图
  11. N个例子让你彻底理解java接口回调
  12. 4815: [Cqoi2017]小Q的表格
  13. 匿名发脉脉的拼多多员工,是如何被发现的?背后真相令人发指...
  14. 京东怎么打单发货,智能店长一键打单
  15. HTML5、css3、js实现3D相册
  16. GNN-图卷积模型-2016:PATCHY-SAN【图结构序列化:将图结构转换成了序列结构,然后直接利用卷积神经网络在转化成的序列结构上做卷积】
  17. pytorch使用过程中的错误处理之内存溢出
  18. < 在Vue中,为什么 v-if 和 v-for 不建议一起使用 ? >
  19. 3个方面,解析趣头条的用户激励体系
  20. linux打开xshell传文件,Xshell拖拽文件直接上传至Linux

热门文章

  1. 字符串匹配算法之KMP
  2. centos6.5卸载和安装mysql_Linux CentOS 6.5 卸载、tar安装MySQL的教程
  3. 在jsp页面如何禁用session?_Session 的简单介绍
  4. php判断是否为手机设备
  5. PPT无法直接在页面上播放插入的MP4视频
  6. 用C语言设计光线成像程序——计算机达人成长之路(26)
  7. 男人要懂得赞美女人,女人要懂得鼓励男人
  8. 1711: [Usaco2007 Open]Dingin吃饭
  9. a20添加usb2net的驱动方法
  10. YOLOV3目标检测模型训练实例