输入是一个仅仅包括拼音的字符串,请输出相应的数字序列。转换关系例如以下:
描写叙述: 拼音 yi er san si wu liu qi ba jiu
      阿拉伯数字 1 2 3 4 5 6 7 8 9
输入字符仅仅包括小写字母,全部字符都能够正好匹配

执行时间限制:无限制
内存限制: 无限制
输入: 一行字符串。长度小于1000
输出: 一行字符(数字)串
例子输入: yiersansi
例子输出: 1234

思路:
1)<拼音。数字>作为键值对,保存在hashmap中
2)字符串循环,从hashmap中取出响应的数字

Java解法:
import java.util.HashMap;
import java.util.Scanner;

public class Main
{
     public static void main(String[] args)
     {
  Scanner cin=new Scanner(System.in);
  HashMap<String, Integer> hashMap=new HashMap<>();
  hashMap.put("yi", 1);
  hashMap.put("er", 2);
  hashMap.put("san", 3);
  hashMap.put("si", 4);
  hashMap.put("wu", 5);
  hashMap.put("liu", 6);
  hashMap.put("qi", 7);
  hashMap.put("ba", 8);
  hashMap.put("jiu", 9);
 
  while(cin.hasNext())
  {
   func(hashMap, cin.next());
   break;
  }
 }
 
 public static void func(HashMap<String, Integer> hashMap, String str)
 {
  int k1=0;
  int k2=2;
  //System.out.println(hashMap.get("111"));
  while(k2<=str.length())
  {
   if (hashMap.get(str.subSequence(k1, k2))!=null)
   {
    System.out.print(hashMap.get(str.subSequence(k1, k2)));
   }
   else {
    k2++;
    if (hashMap.get(str.subSequence(k1, k2))!=null)
    {
     System.out.print(hashMap.get(str.subSequence(k1, k2)));
    }
   }
   k1=k2;
   k2+=2;
  }
 }
}

A题之拼音转数字的更多相关文章

  1. Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

    应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...

  2. 牛客网 PAT 算法历年真题 1009 : 1019. 数字黑洞 (20)

    1019. 数字黑洞 (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定任一个各位数字不完全相同的4 ...

  3. 【网络流24题】No.16 数字梯形问题 (不相交路径 最大费用流)

    [题意] 给定一个由 n 行数字组成的数字梯形如下图所示. 梯形的第一行有 m 个数字.从梯形的顶部的 m 个数字开始,在每个数字处可以沿左下或右下方向移动, 形成一条从梯形的顶至底的路径.规则 1: ...

  4. 【leetcode 简单】 第九十二题 第N个数字

    在无限的整数序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...中找到第 n 个数字. 注意: n 是正数且在32为整形范围内 ( n < 231). 示例 1: ...

  5. C#LeetCode刷题之#788-旋转数字(Rotated Digits)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3967 访问. 我们称一个数 X 为好数, 如果它的每位数字逐个地 ...

  6. C#LeetCode刷题之#13-罗马数字转整数(Roman to Integer)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3842 访问. 罗马数字包含以下七种字符: I, V, X, L, ...

  7. C++经典编程题#3:数字求和

    总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个正整数a,以及另外的5个正整数,问题是:这5个整数中,小于a的整数的和是多少? 输入 输入一行,只包括6个小于100的正整数, ...

  8. C#LeetCode刷题之#268-缺失数字(Missing Number)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4056 访问. 给定一个包含 0, 1, 2, ..., n 中  ...

  9. 华为机试_字符串识别_Vector的使用;

    第一题:拼音转数字输入是一个只包含拼音的字符串,请输出对应的数字序列.转换关系如下:描述:      拼音        yi  er  san  si  wu  liu  qi  ba  jiu  ...

随机推荐

  1. 微信小程序官方文档中的加密算法

    用Nodejs来算一下:

  2. javaScript学习之正则表达式初探

    正则表达式    正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式通常被用来检索.替换那些符 ...

  3. CCF模拟 无线网络

    无线网络 时间限制: 1.0s 内存限制: 256.0MB   问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上.任何两个无线路由器只要距离不超过 r 就能互相 ...

  4. RocketMQ 就是耗内存

    http://blog.csdn.net/loongshawn/article/details/51086876 https://rocketmq.incubator.apache.org/docs/ ...

  5. 2011年度十大杰出IT博客获奖感言

        2011年度十大杰出IT博客获奖感言 在各位评委.网友的支持下,我的博客从前50名中脱颖而出跻身10强,得到这个消息之后心中充满了喜悦.在这里要感谢51CTO为大家提供这样一个良好的展示平台. ...

  6. Android ijkplayer详解使用教程

    1.认识ijkplayer 最近公司准备开发一款视频播放及直播的应用,找了许多开源的框架,大部分都是基于ffmpeg开发的.最开始准备用Vitamio框架开发的,相关的文章也比较丰富,结果对于非个人移 ...

  7. 分享一段css代码学到的js知识

    [].forEach.call($$('*'),function(val){ val.style.outline = '1px solid #'+(~~(Math.random()*(1<< ...

  8. 运动识别之HOJ3D和HMM

    http://cvrc.ece.utexas.edu/Publications/Xia_HAU3D12.pdf   View Invariant Human Action Recognition Us ...

  9. vue 实例的生命周期

      Vue把整个生命周期划分为创建.挂载.更新.销毁等阶段,每个阶段都会给一些"钩子"让我们来做一些我们想实现的动作. 分为以下几个阶段 1.beforeCreate   此阶段为 ...

  10. 【Swing】一点基础操作

    之前实训的老师不推荐swing就没有学...然而学校老师又是另一种态度...加上学长作比赛用swing...学一下吧 1.将窗体放在中间 jdk1.4之后setLocationRelativeTo(o ...