一道 小米 校招题

2024-03-07 16:08
文章标签 小米 一道 校招题

本文主要是介绍一道 小米 校招题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述:

继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替 ("ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"), 然后随机打乱这些字母,所生成的字符串即为电话号码对应的分身。

输入描述:

第一行是一个整数T(1 ≤ T ≤ 100)表示测试样例数;接下来T行,每行给定一个分身后的电话号码的分身(长度在3到10000之间)。

输出描述:

输出T行,分别对应输入中每行字符串对应的分身前的最小电话号码(允许前导0)。

示例1

输入

4
EIGHT
ZEROTWOONE
OHWETENRTEO
OHEWTIEGTHENRTEO

输出

0
234
345
0345

看完题目,飞快地动笔,有了点思路,随后就敲代码,然后就AC了(开心),就像解密一样,真的很有趣。

通过题目我们能很快地了解到我们输入的字母是加了8之后的字母,并且通过分析0-9的大写英文字母我们可以得到有些单词拥有独有的字母,就表明这些单词是已知的,我们只要看到有这个字母,就表明者个字符串里面有这个单词,再通过分析,我们可以知道,其余的未知数字单词,我们可以通过已知的数字单词求出,加 8 之后对应的数字以及某数字单词独有字母如下和可由已知得到未知如下:

0    8                      独特单词 ---   ZERO        Z         已知求未知 ---   F: FOUR(已知) 求 FIVE 

1    9                            5个          ONE                             5个             H:EIGHT(已知) 求 THREE

2    10                                          TWO         W                                  S:SIX(已知) 求 SEVEN

3    11                                           THREE                                          O:FOUR(已知) TWO(已知) ZERO(已知) 求 ONE

4    12                                           FOUR       U                                   I:FIVE(未变已) SIX(已知) EIGHT(已知) 求 NINE

5    13                                           FIVE

6    14                                           SIX            X

7    15                                           SEVEN 

8    16                                           EIGHT       G

9    17                                           NINE 

这样我们就可以把 分身电话号码给求出来啦! 是不是很有意思?是时候上代码了 ---

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
int main()
{int n;string s;scanf("%d",&n);int a[10];for(int i=1;i<=n;i++){for(int i=0;i<10;i++)a[i]=0;cin>>s;for(int j=0;j<s.size();j++)//检测每个字母 有标记字母的则对应数组下标 自增{if(s[j]=='Z')    {a[2]++;    continue;}if(s[j]=='W')    {a[4]++;    continue;}if(s[j]=='U')    {a[6]++;    continue;}if(s[j]=='X')    {a[8]++;    continue;}if(s[j]=='G')    {a[0]++;    continue;}if(s[j]=='F')    {a[7]++;    continue;}if(s[j]=='H')    {a[5]++;    continue;}if(s[j]=='S')    {a[9]++;    continue;}if(s[j]=='O')    {a[3]++;    continue;}if(s[j]=='I')    {a[1]++;    continue;}}if(a[7]>0)a[7] -= a[6];    //减去已知的 下面同理if(a[5]>0)a[5] -= a[0];if(a[9]>0)a[9] -= a[8];if(a[3]>0)a[3] = a[3]-a[2]-a[4]-a[6];if(a[1]>0)a[1] = a[1]-a[0]-a[7]-a[8];for(int k=0;k<10;k++)//打印{if(a[k]==0)	continue;while(a[k]>0){	printf("%d",k);a[k]--; }}printf("\n");}
}

 

 bye~ 下次再见

这篇关于一道 小米 校招题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/784081

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

安卓玩机工具------小米工具箱扩展工具 小米机型功能拓展

小米工具箱扩展版                     小米工具箱扩展版 iO_Box_Mi_Ext是由@晨钟酱开发的一款适用于小米(MIUI)、多亲(2、2Pro)、多看(多看电纸书)的多功能工具箱。该工具所有功能均可以免root实现,使用前,请打开开发者选项中的“USB调试”  功能特点 【小米工具箱】 1:冻结MIUI全家桶,隐藏状态栏图标,修改下拉通知栏图块数量;冻结

概率DP (由一道绿题引起的若干问题。目前为一些老题,蒟蒻的尝试学习1.0)

概率DP: 利用动态规划去解决 概率 期望 的题目。 概率DP 求概率(采用顺推) 从 初始状态推向结果,同一般的DP类似,只是经历了概率论知识的包装。 老题: 添加链接描述 题意: 袋子里有w只白鼠,b只黑鼠,A和B轮流从袋子里抓,谁先抓到白色谁就赢。A每次随机抓一只,B每次随机 抓完一只后 会有另外一只随机老鼠跑出来。如果两个人都没有抓到白色,那么B赢。A先抓,问A赢得概率。 w b 均在

每天一道面试题(2):fail-safe 机制与 fail-fast 机制分别有什么作用?

当谈论Java集合的 fail-fast 和 fail-safe 机制时,涉及的是在集合被并发修改时的行为和处理方式。这些机制对保证程序的正确性和稳定性非常重要,尤其是在多线程环境中。 1. Fail-Fast 机制 定义: Fail-fast 机制的核心是在检测到集合在遍历过程中被修改时,立即抛出 ConcurrentModificationException 异常,从而中断迭代操作。这种

一道算法题引发的动态内存管理的思考

在做PKU2762时,需要建邻接表。 于是按部就班写了下面一个插入边到邻接表中的函数: const int VMAX = 1010;typedef struct Graph{int vex;Graph* next;}Graph;Graph ArcGraph[VMAX];void insert(int u, int v){Graph* t = new Graph;Graph*

大厂面试:小米嵌入式面试题大全及参考答案(130+道 12万长文)

Flink 架构介绍 Flink 是一个分布式流处理和批处理框架,具有高吞吐、低延迟、高可靠等特点。其架构主要由以下几个部分组成: 客户端(Client):负责将作业提交到集群,并与作业管理器进行交互,获取作业的状态信息。客户端可以是命令行工具、IDE 插件或者自定义的应用程序。作业管理器(JobManager):负责接收客户端提交的作业,协调资源分配,调度任务执行,并监控作业的执

小米9 从后台回到前台后 Dialog不显示 只有半透明的背景

最近用自定义Dialog 展示一些提示语,用小米测试时发现在弹出DialogAPP恰好在后台时,再次打开APP,界面上没有 DIalog 的弹框,但是有半透明的背景,点击返回也关不掉,只有关闭页面才会恢复正常,这个情况暂时只在小米上出现,最后找到了问题记录一下。 自定义Dialog原代码有一段是这样 dialog.getWindow().setGravity(Gravity.CENTER

手机玩机常识-----小米系列机型 Android 15 更新计划 那些机型将会更新安卓15

小米机型是很多米粉最喜欢把玩的,其中解锁bl root 刷写twrp以及刷第三方系统资源相对其他品牌机型来说比较丰富。目前安卓15快要更新到很多机型。我们来了解下小米系列机型的更新计划是咋样的 小米会定期更新有关 Redmi红米 设备的支持日期的数据,包括可用的 Android 版本。稳定版以及开发版系统。 目前官方已经公布了哪些红米手机将获得Andro

关于小米手机USB传输稍大点的文件老中断的问题解决方法!

关于小米手机USB传输稍大点的文件老中断的问题解决方法! 这是一个很痛苦的事情,当你传输大文件的时候,传输到一半就会莫名其妙的中断,拔插数据线很多次以后,好不容易没准可以成功传输一次。 后来使用了360的手机助手,从调试模式传输文件,虽然不会中断,但是慢的要死。 最后我看到手机插上后手机提示 有3种模式:仅限充电 传输文件(MTP) 传输照片(PTP)。当然我们选择传输文件是没戏了,会中

一道简单的C语言嵌套

最后的答案是  哈哈 val=8