号码分身(解码新思路)

newcoder:程序员面试经典题解析 newcoder 牛客网的一些题目 立即下载

题目描述
继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

#include <stdio.h>
#include <string.h>
using namespace std;
int main() {
    int t;
    char n[10004];
    int b[10] = {0,0,0,0,0,0,0,0,0,0};
    int i,j,k,s;
    scanf("%d",&t);
    while(t--) {
        memset(b,0,sizeof(b));
        scanf("%s",&n);
        s = strlen(n);
        for(i = 0; i< s; i++) {
            if(n[i] == 'Z') b[0]++;//0对应2
            if(n[i] == 'O') b[1]++;
            if(n[i] == 'W') b[2]++;//2对应4
            if(n[i] == 'H') b[3]++;
            if(n[i] == 'U') b[4]++;//4对应6
            if(n[i] == 'F') b[5]++;
            if(n[i] == 'X') b[6]++;//6对应8
            if(n[i] == 'S') b[7]++;
            if(n[i] == 'G') b[8]++;//8对应0
            if(n[i] == 'I') b[9]++;
        }
        b[1] = b[1] - b[0] - b[2] - b[4];//1对应3
        b[3] = b[3] - b[8];//3对应5
        b[5] = b[5] - b[4];//5对应7
        b[7] = b[7] - b[6];//7对应9
        b[9] = b[9] - b[8] - b[5]- b[6];//9对应1
        while(b[8]--) {
            printf("%c",'0');
        }
        while(b[9]--) {
            printf("%c",'1');
        }
        while(b[0]--) {
            printf("%c",'2');
        }
        while(b[1]--) {
            printf("%c",'3');
        }
        while(b[2]--) {
            printf("%c",'4');
        }
        while(b[3]--) {
            printf("%c",'5');
        }
        while(b[4]--) {
            printf("%c",'6');
        }
        while(b[5]--) {
            printf("%c",'7');
        }
        while(b[6]--) {
            printf("%c",'8');
        }
        while(b[7]--) {
            printf("%c",'9');
        }
        printf("\n");
    }
}
UCOS-III 系统移植 UCOSIII系统移植到GD32F303详细过程 工程代码:https://github.com/jslaobing/techIot_ucosiii_porting 阅读详情

相关推荐

西电 程序设计基础课程设计 作业

当时做的程序设计课程的作业. 一共五题, 以报告的形式提交. 质量应该比较高(高傲). 完整内容在这里 高精度计算 问题描述 涉及知识点: 数组, 流程控制, 函数等 要求: 用整型数组表示10进制大整数(超过 2322^{32}232 的整数), 数组的每个元素存储大整数的一位数字, 实现大整数的加减法. 问题分析 结构设计 可将高精度整数写成一个类. 成员变量有: int a[MAXN], len; bool negative; 其中, 数组a用来存储大整数的一个数位, a[1]为个位上的数字, a

Wings 2513

XM4 电话号码分身

继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每个数字加上8取个位,然后使用对应的大写字母代替 ("ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"), 然后随机打乱这些字母,所生成的字符串即为电话号码对应的分身。我们可以通过将分身后的电话号码中的字母转换为数字,然后将数字减去8,再将结果转换为电话号码的形式来实现。3. 将结果转换为电话号码的形式。

倚楼听风雨的博客 170

Silly Tavern(酒馆)AI 角色扮演下载与安装教程(Windows本地部署)

SillyTavern是一款开源AI角色扮演前端工具,支持沉浸式对话和长期角色互动。本文详细介绍了在Windows系统F盘部署SillyTavern的完整流程,包括下载项目、安装Node.js和Git环境、配置路径、启动服务等关键步骤,并特别说明非系统盘路径可能遇到的npm安装问题及解决方法。成功启动后,用户可通过浏览器访问本地地址使用该工具进行AI角色扮演互动。

Tan3851的博客 1万+

电话号码分身

pre 无聊刷了几条牛客网上的编程题,遇上了这一条,问题不难,但是有一些trick,我觉得比较有意思,这里就记录下解题的过程 问题链接:https://www.nowcoder.com/practice/493d71a992f44554a500ed818056e1a6 问题如下 题目描述 继MIUI8推出手机分身功能之后,MIUI9计划推出一个电话号码分身的功能:首先将电话号码中的每...

月光轩辕的专栏 1715

树莓派驱动DLPDLCR230NPEVM+framebuffer显示图片

DLPDLCR230NPEVM DLP® LightCrafter™ Display 230NP 是一个易于使用的紧凑型即插即用评估平台,适用于消费类产品、工业、医疗和物联网 (IoT) 市场中的各种超便携显示应用。此评估模块 (EVM) 采用 DLP230NP 芯片组,该芯片组由DLP230NP.23 1080p DMD、DLPC3436显示控制器和DLPA2005PMIC/LED 驱动器组成。此 EVM 外形小巧,配备生产就绪型光学引擎以及支持 18 位 RGB 并行视频接口...

L_Y000的博客 2618

Android 系统低内存lowmemorykiller关于阈值修改 minfreeAbsKbytes优化

在系统rom定制化开发中,在对于运行内存ram 1G和2G的设备中,对于内存使用高峰期时,minfreeAbsKbytes优化很关键 调整合理的minfree,让内存合理的使用很关键,接下来分析相关功能的实现

安卓兼职framework和app工程师的博客 523

推荐开源项目:New Coder 教程

推荐开源项目:New Coder 教程 1、项目介绍 New Coder 是一个精心策划的开源教程集合,专为初学者设计,旨在提供五个关键领域的实践指导:数据可视化、网络爬虫、API 使用、网络编程以及图形用户界面(GUI)。这个项目以清晰的目录结构组织,包括每个主题的源代码和配套文档,确保学习者能够深入理解并动手实践。 2、项目技术分析 项目采用 Markdown 格式编写,易于阅读和编辑,同时通...

gitblog_00008的博客 844

【11】GD32H7xx MPU记录

GD32H7xx系列MPU内存保护单元模块的使用记录

madao1234的博客 873

newCoder数据结构链表和二分查找题解总结(除去难题)

思路:双指针,先进行分割,用两段新的链表,奇数节点排在一起是一段,偶数节点排在一起是一段,new两个新的头节点,head1指向left(奇数)节点,head2指向right(偶数)节点,然后定义两个当前节点,一个指向left,一个指向right,(生成新的段的时候是让这两个cur节点去往后走),首先left走两步(原链表的第一个节点就是奇数节点,第二个节点就是偶数节点),所以让left指针走两步,让right节点也走两步,依次类推,left走过的就是奇数节点,right走过的就是偶数节点。

weixin_64874291的博客 627

Node-RED系列(二九):使用slider与chart节点来实现双折线时间序列图

今天教使用dashboard的chart组件和slider组件来是实现一个双线的折线图。效果如下 拖动顶部的电量和水量,低下的图表会实时显示时间和值之所以做这个模拟案例,是将教 大家使用chart节点和slider节点先说一下slider节点,该节点是一个滑块节点,可以接受上一节点的 msg.payload,作为滑块的值, slider必须设置最大值和最小值。且不能动态设置。 此外当用户拖动slider滑块,改变值时,该节点会向下传递当前值 以属性payload装载。在说一下chart节点,该节点可以用于

知无涯 4967

2025年开源气象大模型的实现原理与实践指南

气象大模型在人工智能时代实现了革命性突破,通过深度学习技术以更低的计算成本达到甚至超越传统数值天气预报的精度。开源气象大模型的出现使得全球研究者和机构都能参与气象AI的创新。本文详细解析了开源气象大模型的实现原理,包括核心架构、数据准备、训练方法和实际预测流程,并提供了实践指南。核心架构主要采用Transformer、图神经网络和扩散模型,处理多模态数据融合和时空联合建模。数据体系构建涉及数据来源、预处理和增强策略。模型训练关键技术包括损失函数设计、分布式训练优化和训练过程监控。微调与领域适应策略包括迁移学

专注AI大模型,软件混淆,授权 1179

java号码分身_电话号码分身

0import java.util.ArrayList;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int number = sc.nextInt();for (int i = 0; i < num...

weixin_29510921的博客 299

Winform从入门到精通(21)——ProgressBar(史上最全)

本介绍ProgressBar控件的详细用法,包含所有属性、事件,绝对史上最全!

qq_34059233的博客 3350

关于用TS写NewCoder牛客网题目的一些问题

第一次用牛客写TS,产生的一些小小的输入输出问题

qq_44692902的博客 583

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

CANN/asc-devkit标量计数函数

<a name="table38301303189"></a> <table><thead align="left"><tr id="row20831180131817"><th class="cellrowborder" valign="top" width="57.99999999999999%" id="mcps1.1.3.1.1"><p id="p1883113061818"><a nam

gitblog_00953的博客 604

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

newcoder - 小米

1. 字符串类 1.1 反转字符串 (1)直接使用java api 方法 实现1.1-1: public static String solve1(String str) { return new StringBuffer(str).reverse().toString() } // StringBuilder同StringBuffer (2)原地交换 关键点:str[i] = str[len-1-i] 时间复杂度:O(n) 空间复杂度:O(1) public static Strin

BeALittleCat的专栏 609

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

NewCoder算法基础 Class 1

NewCoder算法基础 Class 1 时间复杂度 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[1]只要高阶项,不要低阶项 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&

Dragon Lucifer的博客 364

NewCoder 剖分

NewCoder 剖分。 树上差分

qq_45925322的博客 378

Newcoder 集合操作(前缀 思维

添加链接描述 #include<bits/stdc++.h> #define int long long using namespace std; const int N=1e6+10; int arr[N]; signed main() { int n,k,p; scanf("%lld%lld%lld",&n,&k,&p); for(int i=1;i<=n;i++){ scanf("%lld",&arr[i]); } sort(arr+

我见青山多妩媚,料青山见我应如是 490

NewCoder 排队

NewCoder 排队。 数学(逆序对公式)

qq_45925322的博客 295

SELKS Docker部署常见问题解决:从安装到运行全攻略

SELKS是基于Suricata的入侵检测系统/入侵防御系统/网络流量监控发行版,通过Docker部署可以快速搭建完整的网络安全监控环境。本文将详细介绍SELKS Docker部署过程中从安装到运行的常见问题及解决方法,帮助新手用户顺利完成部署。 ## 一、Docker环境准备与安装 在开始SELKS的Docker部署前,首先需要确保Docker环境正确安装。推荐使用官方提供的`easy-se

gitblog_00927的博客 792

NewCoder(牛客)题集--Five

A.1 , 2 , 3 , 4 , 5 , 6 B.2 , 1 , 3 , 4 , 5 , 6 C.3 , 4 , 2 , 1 , 5 , 6 D.4 , 3 , 2 , 1 , 5 , 6 解:D 解析:最大长度为3,若开始是4出栈,意味着1,2,3,4已经进栈,超出3所以不可能 解:对 解析:朴素的匹配只匹配一次,不用计算next数组,所以速度更快 A.10...

weixin_44161261的博客 345

NewCoder(牛客)题集--Three

1.判断下列说法是否正确:所有内部排序方法都是基于关键字比较的排序方法。( ) 解:错误 解析: 常见的内部排序有: 插入排序(直接插入排序):将待排序的数字逐渐插入到已排好序的元素序列中,需要关键字的比较。 快速排序:通过一趟排序将待排序数列分割为两部分,一部分比基准值大,另一部分比基准值小,需要关键字的比较。 选择排序(简单选择排序):从待排序序列中选择一个最大(或最小)的元素...

weixin_44161261的博客 1225

[牛客网] NewCoder BISHI1 【模板】序列操作——完整步骤拆解(含注释)

(操作 1/2)(操作 3/4)(操作 5/6)(操作 7/8):如何在频繁的插入、删除和排序操作中,平衡时间复杂度与代码简洁性?Java 的ArrayList天然支持动态扩容、随机访问和中间插入,是本题的理想选择。

527

Newcoder和Leetcode5月刷题笔记

知识点1: 用户标识符要求由字母、数字、下划线组成,并且不能用数字作为标识符的开头。 知识点2:树从根结点开始往下数,叶子结点所在的最大层数称为树的深度。从0开始数,深度=高度-1,从1开始数,深度等于高度。附:霍夫曼数深度一般从0开始数,一般用于计算带权路径长度。 知识点3:我们都知道有序数组存储数据,对数据的索引效率都很高,但是插入和删除就会有性能瓶颈(回忆ArrayList),链表存储...

xiaqi4145 485

NewCoder(牛客)题集--Four

解:错 解析:二分查找针对的是有序表。 A.O(N*log(N)) B.O(N) C.O(log(N)) D.O(N^2) 解:C 解析:二分法每次比较会去掉一半的数据,也就是说比较次数为n,数据为m个则2^n>=m,m=log(N),时间复杂度为O(log(N)) 解:4 解析: A.选择排序 B.快速排序 C.归并排序 D.希尔排...

weixin_44161261的博客 236
上一篇: 句子反转(“hello xiao mi”-> “mi xiao hello”)
下一篇: 将数字转大写打印出来(C++)
EncodedStar
博客等级 码龄10年 2614粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值