中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做視頻在哪個網(wǎng)站找素材網(wǎng)站搭建模板

做視頻在哪個網(wǎng)站找素材,網(wǎng)站搭建模板,招聘網(wǎng)頁怎么制作,群暉nas建設(shè)網(wǎng)站題目 兩端通過TLVQ格式的報文來通信,現(xiàn)在收到對端的一個TLV格式的消息包,要求生成匹配后的(tag,length,valueOffset)列表。具體要求如下: (1)消息包中多組tag、length、value緊密排列,其中tag,length各占1字節(jié)(uint8),value所占字節(jié)數(shù)等于len…

題目

兩端通過TLVQ格式的報文來通信,現(xiàn)在收到對端的一個TLV格式的消息包,要求生成匹配后的(tag,length,valueOffset)列表。具體要求如下:

(1)消息包中多組tag、length、value緊密排列,其中tag,length各占1字節(jié)(uint8),value所占字節(jié)數(shù)等于length的值

(2) 結(jié)果數(shù)組中tag值已知,需要填充每個tag對應(yīng)數(shù)據(jù)的length和valueOffset值(valueOffset為value在原消息包中的起始偏移量(從0開始,以字節(jié)為單位),即將消息包中的tag與結(jié)果數(shù)組中的tag進(jìn)行匹配(可能存在匹配失敗的情況,若結(jié)果數(shù)組中的tag在消息包中找不到,則ength和valueOffset都為0)
(3) 消息包和結(jié)果數(shù)組中的tag值都按升序排列,且不重復(fù)
(4) 此消息包未被篡改,但尾部可能不完整,不完整的一組TLV請丟棄掉
輸入描述
第一行:—個字符串,代表收到的消息包。字符串長度在10000以內(nèi)。
說明1:字符串使用十六進(jìn)制文本格式(字母為大寫)來展示消息包的數(shù)據(jù),如0F04ABABABAB代表一組TLV.前兩個字符(0F)代表tag值為15,接下來兩個字符(04)代表length值為4字節(jié),接下來8個字符即為4字節(jié)的value。
說明2:輸入字符串中,每一組TLV緊密排列,中間無空格等分隔符
第二行:需要匹配的tag數(shù)量n (0 <n <1000).
后面n行:需要匹配的n個tag值(十進(jìn)制表示),遞增排列。
輸出描述
需要匹配的n個tag對應(yīng)的n行匹配結(jié)果,每—行由長度和偏移量組成
示例1:
輸入
0F04ABABABAB
1
15
輸出
4 2
說明
tag15(十六進(jìn)制0F)對應(yīng)數(shù)據(jù)的長度為4,其value從第三個字節(jié)開始,因此偏移量為2
示例2:
輸入
0F04ABABABAB1001FF
2
15
17
輸出
4 2
0 0
說明
第二個tag匹配失敗

思路

本題比較容易,但是細(xì)節(jié)分析比較繁瑣,容易出錯
新建一個TLV對象,含有3個屬性tag,length以及offset。
遍歷輸入的第一行content,i的初始值為0。
第一個tag:content.subStr(i,i+2),利用Integer.parseInt將16進(jìn)制字符串轉(zhuǎn)為數(shù)字即可
第一個length: content.subStr(i+2,i+4)
第一個的offset為起始字符的索引/2:(i+4)/2
接下來的字符內(nèi)容:content.subStr(i+4,i+4+2*length),也就是說下一個TLV對象的起始索引值為:i+4+2*length,
因為題目要求了“不完整的一組TLV請丟棄掉”,即上述計算出來的tag或者length或者offset任意一個不存在,那么就不加入這個對象(只有當(dāng)數(shù)組的索引越界時才會不存在)
接下來得到了兩個排序的對象,list<TLV>以及nums
遍歷nums,假設(shè)當(dāng)前nums到 j 位置,list到 i 位置:

  1. 如果nums[i]>list.get(j).getTag():那么可以循環(huán)將j++,直到查找到下一個不大于nums[i]的位置,
  2. 如果list都遍歷完了都沒有找到,說明nums[i]大于list中的所有tag,此時直接將i位置的結(jié)果置為:0,0即可
  3. 如果循環(huán)后,nums[i]<list.get(j).getTag(),那么也說明找不到nums[i],直接將i位置的結(jié)果置為:0,0
  4. 如果循環(huán)后,nums[i]==list.get(j).getTag(),說明找到了,此時直接將list.get(i)中存放的length以及offset返回即可

題解

package hwod;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class TLVAnalyze {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String content = sc.nextLine();int n = sc.nextInt();int[] nums = new int[n];for (int i = 0; i < n; i++) {nums[i] = sc.nextInt();}int[][] res = tLVAnalyze(content, nums);for (int i = 0; i < res.length; i++) {System.out.println(res[i][0] + " " + res[i][1]);}}private static int[][] tLVAnalyze(String content, int[] nums) {int[][] res = new int[nums.length][2];List<TLV> list = new ArrayList<>();int i = 0;while (i < content.length()) {int tag = (i + 2) <= content.length() ? Integer.parseInt(content.substring(i, i + 2), 16) : -1;int length = (i + 4) <= content.length() ? Integer.parseInt(content.substring(i + 2, i + 4), 16) : -1;int offSet = i + 4 + 2 * length <= content.length() ? (i + 4) / 2 : -1;if (tag != -1 && length != -1 && offSet != -1) list.add(new TLV(tag, length, offSet));i = i + 4 + 2 * length;}i = 0;for (int j = 0; j < nums.length; j++) {int cur = nums[j];while (i < list.size() && cur > list.get(i).getTag()) {i++;}if (i >= list.size() || cur < list.get(i).getTag()) {res[j] = new int[]{0, 0};} else {res[j] = new int[]{list.get(i).getLength(), list.get(i).getOffSet()};}}return res;}
}class TLV {private int tag;private int length;private int offSet;public int getTag() {return tag;}public int getLength() {return length;}public int getOffSet() {return offSet;}public TLV(int tag, int length, int offSet) {this.tag = tag;this.length = length;this.offSet = offSet;}
}

推薦

如果你對本系列的其他題目感興趣,可以參考華為OD機(jī)試真題及題解(JAVA),查看當(dāng)前專欄更新的所有題目。

http://www.risenshineclean.com/news/9723.html

相關(guān)文章:

  • 建設(shè)部建設(shè)廳報考網(wǎng)站信息發(fā)布網(wǎng)站有哪些
  • 網(wǎng)站優(yōu)化標(biāo)準(zhǔn)網(wǎng)絡(luò)營銷怎么做?
  • 成都網(wǎng)站建設(shè)免費咨詢福州seo視頻
  • 描述政府網(wǎng)站網(wǎng)站建設(shè)簡單制作html靜態(tài)網(wǎng)頁
  • 米粒網(wǎng)站建設(shè)商業(yè)網(wǎng)站
  • 森動網(wǎng)網(wǎng)站建設(shè)好嗎網(wǎng)站的營銷推廣方案
  • 做網(wǎng)站 建站推銷一個產(chǎn)品的方案
  • 一級a做爰片免費網(wǎng)站志鴻優(yōu)化設(shè)計答案網(wǎng)
  • 鄂州網(wǎng)站開發(fā)微信朋友圈推廣
  • 網(wǎng)站功能板塊廣州做網(wǎng)站的公司哪家好
  • 廣州做蛋糕的網(wǎng)站推廣策略可以分為哪三種
  • 臺山網(wǎng)站建設(shè)口碑營銷的例子
  • 九脈堂是做網(wǎng)站的優(yōu)化大師win10
  • 東莞做營銷型網(wǎng)站的關(guān)鍵詞首頁排名代發(fā)
  • 對網(wǎng)站建設(shè)的認(rèn)識百度手機(jī)
  • 手機(jī)網(wǎng)站開發(fā)公司關(guān)鍵詞簡譜
  • 東莞大朗網(wǎng)站建設(shè)湖南網(wǎng)站推廣公司
  • 如何建設(shè)網(wǎng)站 企業(yè)做一個私人網(wǎng)站需要多少錢
  • 美女做曖曖免費視頻網(wǎng)站公司網(wǎng)站建設(shè)價格
  • 廈門本地網(wǎng)站上海網(wǎng)絡(luò)seo
  • 南京代辦公司注冊需要費用如何優(yōu)化網(wǎng)絡(luò)延遲
  • 重慶網(wǎng)站建設(shè)哪里有推廣引流的10個渠道
  • 站長工具問答網(wǎng)站個人網(wǎng)站設(shè)計內(nèi)容
  • 企業(yè)網(wǎng)站建設(shè)的基本內(nèi)容產(chǎn)品推廣活動策劃方案
  • 備案密碼找回seo優(yōu)化方案
  • 學(xué)做糕點的網(wǎng)站谷歌瀏覽器搜索引擎入口
  • 深圳企業(yè)網(wǎng)站建設(shè)價格快手作品免費推廣軟件
  • 個性化定制服務(wù)的網(wǎng)站有哪些網(wǎng)站優(yōu)化要做哪些
  • 黃梅那里有做網(wǎng)站的seo關(guān)鍵詞排名優(yōu)化要多少錢
  • 網(wǎng)站定制 div css 手工怎么給客戶推廣自己的產(chǎn)品