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

住房和城乡建设部网站主页博乐建设工程信息网站

住房和城乡建设部网站主页,博乐建设工程信息网站,湛江企业网站建设,西安网站制作有限公司目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试#xff08;JAVA#xff09;真题#xff08;A卷B卷#… 目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中刷题点这里 专栏导读 本专栏收录于《华为OD机试JAVA真题A卷B卷》。 刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。 一、题目描述 两端通过TLV格式的报文来通信现在收到对端的一个TLV格式的消息包要求生成匹配后的(tag,length,valueOffset)列表。 具体要求如下 消息包中多组tag,length,value紧密排列其中tag,length各种1字节(uint8_t)value所占字节数等于length的值。结果数组中tag值已知需要田中每个tag对应数据的length和valueOffset值(valueOffset为value在原消息包中的起始偏移量(从0开始以字节为单位))即将消息包中的tag与结果数组中的tag进行匹配(可能存在匹配失败的情况若结果数组中tag在消息包中找不到则length和valueOffset都为0)。消息包和结果数组职工的tag值都按升序排序且不重复。此消息包未被篡改但尾部可能不完整不完整的一组TLV请丢弃掉。 二、输入描述 第一行一个字符代表收到的消息包。字符串长度在10000以内。 说明1字符串使用十六进制文本格式(字母为大写)来展示消息包的数据如0F04ABABABAB代表一组TLV前两个字符(OF)代表tag值为15接下来两个字符(04)代表length值为4字节接下来8个字符即为4字节的value。说明2输入字符串中每一组TLV紧密排列中间无空格等分隔符 第二行需要匹配的tag数量n(0 n 1000) 后面N行需要匹配n个tag值(十进制表示)递增排列。 三、输出描述 和需要匹配的n个tag对应的n行匹配结果每一行由长度和偏移量组成。 四、解题思路 第一行一个字符代表收到的消息包第二行需要匹配的tag数量n(0 n 1000)后面N行需要匹配n个tag值(十进制表示)递增排列定义哈希表存储tag对应的length和valueOffset解析字符串msg初始化哈希表 将16进制字符串转换为整数计算valueOffset跳过value更新i如果i超出msg长度跳出循环将tag、length、valueOffset存入tagMap中 遍历tags输出匹配结果。 五、Java算法源码 package com.guor.od;import java.util.*;public class OdTest {public static void main(String[] args) {Scanner sc new Scanner(System.in);// 收到的消息包String msg sc.next();// 需要匹配的tag数量nint n sc.nextInt();// 后面N行需要匹配n个tag值(十进制表示)递增排列int[] tags new int[n];for (int i 0; i n; i) {tags[i] sc.nextInt();}// 定义哈希表存储tag对应的length和valueOffsetMapInteger, ListInteger tagMap new HashMap();// 解析字符串msg初始化哈希表for (int i 0; i 3 msg.length(); i) {int tag, len, valueOffset;String tagStr msg.substring(i, i 2);String lenStr msg.substring(i 2, i 4);// 将16进制字符串转换为整数tag Integer.parseInt(tagStr, 16);len Integer.parseInt(lenStr, 16);// 计算valueOffsetvalueOffset (i 5) / 2;// 跳过value更新ii 3 len * 2;// 如果i超出msg长度跳出循环if (i msg.length()) {break;}// 将tag、length、valueOffset存入tagMap中tagMap.put(tag, Arrays.asList(len, valueOffset));}// 遍历tags输出匹配结果for (int tag : tags) {if (tagMap.containsKey(tag)) {ListInteger tmp tagMap.get(tag);int len tmp.get(0);int valueOffset tmp.get(1);System.out.println(len valueOffset);} else {System.out.println(0 0);}}} }六、效果展示 1、输入 0F04ABABABAB 1 15 2、输出 4 2 3、说明 tag15(十六进制0F)对应数据的长度为4,其value从第三个字节开始因此偏移量为2。 下一篇华为OD机试真题 Java 实现【路灯照明问题】【2022Q4 100分】感谢fly晨发现这个问题并提供更优质的算法 本文收录于华为OD机试JAVA真题A卷B卷 刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。
http://www.hkea.cn/news/14439733/

相关文章:

  • 网站建设前期策划方案学校网站建设的意义和目的
  • 做微信的微网站费用多少做网站横幅的图片多大
  • 购物网站哪个是正品网页传奇排名
  • 网站备案后打不开腾讯企业邮箱登录入口电脑版
  • 在国际网站做外贸需要条件做报名链接的网站
  • 南京网站开发价格phpcms模板行业网站
  • 表格模板网站永州网站开发
  • 阿里云建网站流程网站推广排名服务
  • 做计算机题目的网站在线生成小程序
  • 网站设计全包网页制作软件html
  • 临沂电商网站建设网页设计与网站建设实训报告
  • 研究生院 网站 建设番禺制作网站技术
  • 希尔顿酒店网站建设的优点制作灯笼的视频
  • 网站建设读书笔记seo搜索优化专员招聘
  • 北京公司响应式网站建设价位门户网站建设的平台搭建
  • 西安学建网站赣州网络
  • 网站建设需要域名关于备案空壳网站清理通知
  • 做外贸有必要做个网站吗十大营销策划公司排名
  • 网站建设文案详情手机网站设计建设服务
  • 有没有兼职做设计的网站淄博手机网站建设公司
  • 网站建设行吗网站优化计划书
  • 网站信息安全保障制度建设情况一个人怎样做网站
  • 江西手机网站建设柳州网站建设排行榜
  • 网站的弹窗怎么做白云怎样优化网站建设
  • app 网站开发公司电话追求无我
  • seo网站推广实例团结湖网站建设
  • 北京市建设资格与执业资格注册中心网站深圳网站开发一薇
  • 网站 dns 解析淘宝官网首页登录入口电脑
  • 建设一个类似淘宝的网站wordpress 3.8页面伪静态化 html
  • 无锡网站制作启小程序制作公司选卓越华网天下