java号码分身_电话号码分身
题目描述
继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替 ("ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"), 然后随机打乱这些字母,所生成的字符串即为电话号码对应的分身。
输入描述
第一行是一个整数T(1 ≤ T ≤ 100)表示测试样例数;接下来T行,每行给定一个分身后的电话号码的分身(长度在3到10000之间)。
输出描述:
输出T行,分别对应输入中每行字符串对应的分身前的最小电话号码(允许前导0)。
示例1
示例1
输入
4
EIGHT
ZEROTWOONE
OHWETENRTEO
OHEWTIEGTHENRTEO
输出
0
234
345
0345
思路:
观察("ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE")
有的字母只在一个单词中出现,比如ZERO,TWO,FOUR,SIX,EIGHT
有点字母在两个或两个以上单词中出现,比如THREE中的H就在THREE和EIGHT中出现
那么只需要统计字母出现的频次就可以计算出每个单词的频次
最后反向计算出原始数字即可
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int row = sc.nextInt();
sc.nextLine();
while (row != 0) {
String s = sc.nextLine();
s = s.replace(" ", "");
int[] cache = new int[26];
char[] cs = s.toCharArray();
for (char c : cs) {
cache[c - 'A']++;
}
int[] res = new int[10];
res[0] = cache['Z' - 'A'];
res[2] = cache['W' - 'A'];
res[4] = cache['U' - 'A'];
res[6] = cache['X' - 'A'];
res[8] = cache['G' - 'A'];
res[1] = cache['O' - 'A'] - res[2] - res[4] - res[0];
res[3] = cache['H' - 'A'] - res[8];
res[5] = cache['F' - 'A'] - res[4];
res[7] = cache['S' - 'A'] - res[6];
res[9] = cache['I' - 'A'] - res[6] - res[5] - res[8];
StringBuilder sb = new StringBuilder("");
for (int i = 0; i <= 9; i++) {
while (res[(i + 8) % 10] > 0) {
sb.append(i);
res[(i + 8) % 10]--;
}
}
System.out.println(sb);
row--;
}
}
}
java号码分身_电话号码分身相关推荐
- java号码分身_电话号码分身问题
电话号码分身 题意: 继MIUI8推出手机分身功能之后,MIUI9:("ZERO",":"FIVE","S:然后随机打乱这些字母,所生成的字 ...
- 电话号码分身 java_电话号码分身
56 要先依次解码具有独一无二字符的数字,具有这样特点的数字有五个分别是FOUR(U),SIX(X), TWO(W),EIGHT(G),ZERO(Z),可以根据独特字符的个数直接判断有多少个相应的数字 ...
- java号码分身_[算法] 电话号码分身 (小米2017 秋招真题)[JavaScript]
题目描述 继MIUI8推出手机分身功能,MIUI计划推出一个电话号码分身得功能:首先将电话号码中的每个数字加上8取个位,然后使用对应得大写字母代替 ("ZERO", "O ...
- 电话号码分身(java小米校招17)
1.题目: 题目描述 继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替 ("ZERO" ...
- 电话号码分身 java,每日一题C++版(电话号码分身)
编程是很多偏计算机.人工智能领域必须掌握的一项技能,此编程能力在学习和工作中起着重要的作用.因此小白决定开辟一个新的板块"每日一题",通过每天一道编程题目来强化和锻炼自己的编程能力 ...
- 电话号码分身问题,小米笔试真题
题目描述 继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替 ("ZERO", &quo ...
- 小米面试题:手机分身,电话号码隐藏。
小米面试题: 手机分身,电话号码隐藏. 0-9分别对应ZERO,ONE,TWO,...,NINE 为保证手机拨号安全性,拨号后,存为对应的字符串,并打乱顺序,保证安全性. 现在给定一个字符串,求最小的 ...
- 小米真题:电话号码分身
题目描述:继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替 ("ZERO", &quo ...
- 电话号码分身(小米2017秋招真题)
电话号码分身(小米2017秋招真题) 题目描述 继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替(&quo ...
最新文章
- Matlab数据的可视化 -- 简易表面图
- 剑指offer:顺时针打印矩阵
- TF学习——TF之Tensorboard:Tensorflow之Tensorboard可视化简介、入门、使用方法之详细攻略
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
- 存储计算解耦合,构建中国人英语语音数据库
- Exchange邮箱的创建与配置
- POJ - 1704 Georgia and Bob
- Android BlueDroid(三):BlueDroid蓝牙开启过程enable
- mysql之分页查询
- 动态得到查询结果后绑定
- linux程序设计——个人总结
- Android跨进程通信--AIDL原理解析
- 【云大会】之五《第七届云计算大会 Day1感受:喧嚣退潮、人气萎缩》
- Autosar DCM 诊断(Diagnostic Communication Manager)
- Android三级列表
- vmware虚拟机使用详解
- CMMI2.0之我见-配置管理CM
- 微信小程序毕业论文题目_SSM项目源码校园辩论管理平台+后台管理系统
- MATLAB——Simulink如何将模块进行封装
- 什么是α测试?什么是β测试?