当前位置: 首页 > news >正文

广州有哪些网站建设微网站建设包括哪些内容

广州有哪些网站建设,微网站建设包括哪些内容,怎么清空wordpress媒体库,上海贸易公司排名目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

一、题目描述

九宫格按键输入,输出显示内容,有英文和数字两个模式,默认是数字模式,数字模式直接输出数字,英文模式连续按同一个按键会依次出现这个按键上的字母,如果输入" "或者其他字符,则循环中断。

字符对应关系如图:

在这里插入图片描述

二、输入描述

输入范围为数字0~9和字符#、/,输出屏幕显示,例如在数字模式下,输入1234,显示1234;在英文模式下,输入1234,显示,adg。

三、输出描述

#用于切换模式,默认是数字模式,执行#后切换为英文模式, /表示延迟,例如在英文模式下,输入22/222,显示为bc;

英文模式下,多次按同一键,例如输入22222,显示为b;

输入输出说明
123#222235/56123adjjm

四、解题思路

  1. 输入一个字符串input;
  2. 定义digitalMode,true表示数字模式,false表示英文模式,默认true;
  3. 定义变量right,表示英文模式下,连续按键模式停止的坐标;
  4. 定义builder,拼接最后的输出内容;
  5. 遍历input;
    • 如果输入" "或者其他字符,则循环中断;
    • 如果是#,切换模式;
    • 如果是/,表示延迟;
    • 如果是数字模式,直接拼接;
    • 如果是英文模式,获取下一个字符,判断与上一个字符是否相等;
      • 如果下一个字符和当前字符相等,则进入连续按键模式;
      • 如果下一个字符和当前字符相等,则表示连续模式结束,开始计算连续按键后输出的字母;
      • 计算连续按键后输出的字母;
      • 如果输入" "或者其他字符,则循环中断;
      • 计算连续按键后输出的字母完毕,开始遍历后面的字符;
  6. 输出最后的拼接字符串builder。

五、Java算法源码

public class OdTest04 {/*** #用于切换模式,默认是数字模式,执行#后切换为英文模式, /表示延迟* 如果输入" "或者其他字符,则循环中断。* 123#222235/56  --->  123adjjm* 123#2222#3#5//5556  --->  123a3jlm* 123#2222#3#50//5556  --->  123a3j* 123#22022#3#5//5556  --->  123b*/// 合法字符,如果输入" "或者其他字符,则循环中断static String effectiveLetter = "123456789#/";public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();// true表示数字模式,false表示英文模式,默认trueboolean digitalMode = true;// 英文模式下,连续按键模式停止的坐标int right = -1;// 最后的输出内容StringBuilder builder = new StringBuilder();for (int i = 0; i < input.length(); i++) {// 123#222235/56   i = 4,  3对应8,此时right=7,,,下次遍历从8开始if (right >= i) {continue;}char ch = input.charAt(i);// 如果输入" "或者其他字符,则循环中断if (!effectiveLetter.contains(ch + "")) {break;}switch (ch){case '#': // 切换模式digitalMode = !digitalMode;break;case '/': // /表示延迟break;default:// 数字模式if (digitalMode) {builder.append(ch);}else{ // 英文模式int sameCount = 1;boolean inputError = false;for (int j = i + 1; j < input.length(); j++) {// 下一个字符,判断与上一个字符是否相等char next = input.charAt(j);// 如果输入" "或者其他字符,则循环中断if (!effectiveLetter.contains(next + "")) {inputError = true;break;}// 表示延迟if (next == '/') {right = j;break;}// 如果下一个字符和当前字符相等,则进入连续按键模式if (ch == next) {// 123#222235/56   i = 4,  3对应8,此时right=7,,,下次遍历从8开始sameCount++;right = j;continue;} else {// 如果下一个字符和当前字符相等,则表示连续模式结束,开始计算连续按键后输出的字母break;}}// 计算连续按键后输出的字母char letter = getLetter(ch, sameCount);builder.append(letter);// 如果输入" "或者其他字符,则循环中断if (inputError) {break;} else {// 计算连续按键后输出的字母完毕,开始遍历后面的字符continue;}}break;}}// 最后的输出内容System.out.println(builder);}/*** 根据按键和连续的次数,获取对应的字母** @param ch        按键* @param sameCount 连续的次数*/static final String[] mapArr = {" ",",.?!","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};private static char getLetter(char ch, int sameCount) {String letter = mapArr[Integer.parseInt(String.valueOf(ch))];int index = (sameCount - 1) % letter.length();return letter.charAt(index);}
}

六、效果展示

1、输入

123#2222#3#5//5556

2、输出

123a3jlm

3、说明

  1. 遍历字符串123#2222#3#5//5556;
  2. #表示切换模式,/表示延迟;
  3. 123 --> 123;
  4. #切换到英文模式;
  5. 2222 --> a;
  6. #再次切换数字模式,3 --> 3;
  7. #再次切换英文模式,5 --> j;555 --> l;
  8. 6 --> m;
  9. 最后输出123a3jlm

在这里插入图片描述


🏆下一篇:华为OD机试 - 最长的顺子 - 感谢@禁止你发言提供的更简便算法(Java 2023 B卷 200分)

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

http://www.yayakq.cn/news/429111/

相关文章:

  • 做网站学的什么专业上海seo网站策划
  • 南京建设局网站网站工商网监标
  • ui做的好的网站有哪些哪个做问卷网站佣金高
  • 好的ppt模板免费下载网站wordpress门户主题下载
  • 网站开发执行什么标准号公司网站建设合同要交印花税吗
  • 莱芜高端网站建设价格精湛的佛山网站设计
  • 做t恤网站 一件也可以做php做网站项目的流程
  • 怡康医药网站建设方案如何制作数据库网站
  • ps设计网站步骤wordpress 简介主题
  • 专业制作网页的公司重庆seo网站
  • 移动终端网站建设泰州建设局网站安监站通报
  • 邵阳营销型网站建设在线外链
  • 济南企业网站设计常州做网站的公司有哪些
  • 高端制作网站哪家专业企业网站建设账务处理
  • 建网站怎么挣钱深圳产品设计师
  • 做网站给女朋友wordpress修改404页面
  • phpcms v9网站性能优化企业门户网站的建设与实现论文
  • 找私人做网站程序费用wordpress注册修改密码
  • 电影网站开发背景重庆seo结算
  • 游戏网站织梦模板深圳搜索排名优化
  • 网站规划的公司无锡集团网站建设
  • 网站服务器物理地址怎么查腾讯企业邮箱入口网址
  • 天津行业网站建设电子商务网站建设实训心得
  • 杭州集团网站建设做奖状的网站
  • 巧克力网站建设需求分析wordpress主题 d8 4.1
  • 太原网站建设加王道下拉刷网站关
  • 长春制作门户网站的公司最新国内新闻10条
  • 巫山网站开发游戏网页设计教程
  • 万户做网站怎么样所有免费的网站有哪些
  • 网站的引导页怎么做的开发定制app