免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
華為2019年暑期實(shí)習(xí)生在線筆試(原創(chuàng))

第一題:

題目描述:

連續(xù)輸入字符串(輸入字符串個(gè)數(shù)為N,每個(gè)字符串長(zhǎng)度不大于100,輸入字符串間按照空格鍵分隔),請(qǐng)按長(zhǎng)度為8拆分每個(gè)字符串后輸出到新的字符串?dāng)?shù)組,輸出的字符串按照升序排列。

長(zhǎng)度不是8整數(shù)的字符串請(qǐng)?jiān)诤竺嫜a(bǔ)數(shù)字0,空字符不處理。

輸入樣例1:

2 abc 123456789

輸出樣例1:

12345678 90000000 abc00000

處理代碼:

 1 # *** 輔助函數(shù) *** # 2 def decode(str_): 3     d1 = [] 4     num = int(len(str_) / 8)    # 商 5     num_yu = len(str_) % 8      # 余數(shù) 6  7     for j in range(num): 8         d1.append(str_[j*8:(j 1)*8]) 9 10     if num_yu != 0:11         str_now = str_[-1*num_yu:]12         str_now = str_now[::-1].zfill(8)13         d1.append(str_now[::-1])14 15     return d116 17 18 # # *** 數(shù)據(jù)輸入 model 1 *** #19 while True:20     try:21         d0 = input().split()22 23         # ① 輸出數(shù)據(jù)的原始隊(duì)列24         str_out = []25         for i in range(int(d0[0])):26 27             # ② 獲取解碼后的數(shù)據(jù)28             str_out.extend(decode(d0[i   1]))29 30         # ③ 對(duì)原始隊(duì)列進(jìn)行排序31         str_out.sort()32 33         # ④ 構(gòu)建輸出格式34         str_now = ''35         for i in str_out:36             str_now  = i   ' '37 38         # ⑤ 數(shù)據(jù)輸出39         if len(str_now[:-1]):40             print(str_now[:-1])41 42     except Exception:43         break44 45 46 # # *** 數(shù)據(jù)輸入 model 2 *** #47 # import sys48 # for line in sys.stdin:49 #     d0 = line.strip('\n').split()   # 這種輸入法,會(huì)自動(dòng)攜帶換行符'\n'50 #51 #     # ① 輸出數(shù)據(jù)的原始隊(duì)列52 #     str_out = []53 #     for i in range(int(d0[0])):54 #         # ② 獲取解碼后的數(shù)據(jù)55 #         str_out.extend(decode(d0[i 1]))56 #     # ③ 對(duì)原始隊(duì)列進(jìn)行排序57 #     str_out.sort()58 #     # ④ 構(gòu)建輸出格式59 #     str_now = ''60 #     for i in str_out:61 #         str_now  = i   ' '62 #63 #     # ⑤ 數(shù)據(jù)輸出64 #     if len(str_now[:-1]):65 #         print(str_now[:-1])66 

?

第二題:

題目描述:

給定一個(gè)字符串,字符串包含數(shù)字、大小寫(xiě)字母以及括號(hào)(包括大括號(hào)、中括號(hào)和小括號(hào)),括號(hào)可以進(jìn)行嵌套,即括號(hào)里面可以出現(xiàn)數(shù)字和括號(hào)。

按照如下的規(guī)則對(duì)字符串進(jìn)行展開(kāi),不需要考慮括號(hào)不成對(duì)不匹配問(wèn)題,用例保證括號(hào)匹配,同時(shí)用例保證每個(gè)數(shù)字后面都有括號(hào),不考慮數(shù)字后面沒(méi)有括號(hào)的這種情況,即2a2(b)這種情況不考慮。

輸入樣例1:

abc3(mlg)

輸出樣例1:

glmglmglmcba

?

輸入樣例2:

abc3(A)4(mufasa)

輸出樣例2:

asafumasafumasafumasafumAAAcba

?

輸入樣例3:

abd2(3{4[q]w}e)

輸出樣例3:

asafumasafumasafumasafumAAAcba

?

處理代碼:

 1 # *** 輔助函數(shù) *** # 2 DICTCHAR = {'(': ')', '[': ']', '{': '}'} 3  4 def decode(d0): 5  6     # 第一步:先檢錄出所有的數(shù)字 7     d1 = []     # 所有數(shù)字的【位置,數(shù)值,后續(xù)的開(kāi)始符號(hào)】 8     for i in range(len(d0)): 9         if 48 <= ord(d0[i]) <= 57:      # 0-910             d1.append([i, int(d0[i]), d0[i 1]])11     # print(d1)12 13     # 第二步:從后往前(逆序)進(jìn)行解碼14     for item in d1[::-1]:15         # ① 先確定需要重復(fù)的范圍16         start = item[0]   217         end = start   d0[start:].index(DICTCHAR[item[-1]])18 19         # ② 接入原始頭20         str_now = ''21         str_now  = d0[:item[0]]22 23         # ③ 字符串重復(fù)區(qū)域24         for i in range(item[1]):25             str_now  = d0[start: end]26 27         # ④ 接入原始尾28         str_now  = d0[end   1:] # 如果后續(xù)沒(méi)有自動(dòng)跳過(guò)了29 30         # ⑤ 更新原始d0字符串31         d0 = str_now32     return d033 34 # # *** 數(shù)據(jù)輸入 model 1 *** #35 # while True:36 #     try:37 #         d0 = input()38 #         str_ = decode(d0)39 #         print(str_[::-1])40 #     except Exception:41 #         break42 43 44 # *** 數(shù)據(jù)輸入 model 2 *** #45 import sys46 for line in sys.stdin:47     d0 = line.strip('\n')   # 這種輸入法,會(huì)自動(dòng)攜帶換行符'\n'48     str_ = decode(d0)49     print(str_[::-1])

?

?

第三題:

一張N*M的地圖上每個(gè)點(diǎn)的海拔高度不同;從當(dāng)前點(diǎn)只能訪問(wèn)上、下、左、右四個(gè)點(diǎn)中還沒(méi)有到達(dá)過(guò)的點(diǎn),且下一步選擇的點(diǎn)的海拔高度必須高于當(dāng)前點(diǎn);求從地圖中點(diǎn)A到點(diǎn)B總的路徑條數(shù)初以10**9的余數(shù)。

地圖左上角坐標(biāo)為(0,0),右下角坐標(biāo)為(N-1,M-1)。

輸入描述:

第一行輸入兩個(gè)整數(shù)N,M(0<N<=600, 0<M<=600)用空格隔開(kāi);接下來(lái)N行輸入,每行M個(gè)整數(shù)用空格隔開(kāi),代表對(duì)應(yīng)位置的海拔高度(0<=海拔高度<=360000);最后一行四個(gè)整數(shù)X,Y,Z,W;前兩個(gè)代表A的坐標(biāo)(X,Y);后面兩個(gè)代表B的坐標(biāo)(Z,W);輸入保證A,B坐標(biāo)不同,且坐標(biāo)合法。

?

輸入樣例1:

4 50 1 0 0 00 2 3 0 00 0 4 5 00 0 7 6 00 1 3 2

輸出樣例1:

2

?

輸入樣例2:

4 50 1 2 1 00 2 3 2 10 0 4 5 20 8 7 8 90 4 3 4

輸出樣例2:

10

?

處理程序:

 1 import copy 2  3  4 # *** 輔助函數(shù) *** # 5 def path2run(N, M, graph, single_path, node_next):  # 判斷下個(gè)位點(diǎn)是否可行 6     node_pre = single_path[-1] 7     if node_next in single_path:  # 是否以前走過(guò) 8         return 0 9     if node_next[0] < 0 or node_next[1] < 0:  # 是否越界(左、上)10         return 011     if node_next[0] > (N - 1) or node_next[1] > (M - 1):  # 是否越界(右、下)12         return 013     if graph[node_pre[0]][node_pre[1]] >= graph[node_next[0]][node_next[1]]:  # 是否梯度上升14         return 015     else:16         return 117 18 19 def path2end(node_end, node_next):  # 判斷是否為終點(diǎn)20     if node_end == node_next:21         return 122     else:23         return 024 25 26 def next_node(node_pre, type):  # 生成下一個(gè)節(jié)點(diǎn)位置27     [xp, yp] = node_pre28     if type == 0:29         node_next = [xp, yp - 1]30     elif type == 1:31         node_next = [xp   1, yp]32     elif type == 2:33         node_next = [xp, yp   1]34     elif type == 3:35         node_next = [xp - 1, yp]36     return node_next37 38 # *** 數(shù)據(jù)輸入 *** #39 [N, M] = list(map(int, input().split()))40 graph = []41 for i in range(N):42     graph.append(list(map(int, input().split())))43 [X, Y, Z, W] = list(map(int, input().split()))44 node_start = [X, Y]45 node_end = [Z, W]46 47 # *** 數(shù)據(jù)處理 *** #48 path_mid = [[node_start]]49 path_target = []50 51 while True:52 53     num = len(path_mid)54 55     for i in range(num):  # 進(jìn)行新路段的前進(jìn)56         single_path = path_mid[i]57         node_pre = single_path[-1]58         for j in range(4):  # 下一個(gè)節(jié)點(diǎn)規(guī)劃59             node_next = next_node(node_pre, j)60 61             # 判斷是否終點(diǎn)62             if path2end(node_end, node_next):63                 path_now = copy.deepcopy(single_path)64                 path_now.append(node_next)65                 path_target.append(path_now)66                 continue67 68             # 判斷是否可行69             if path2run(N, M, graph, single_path, node_next):70                 path_now = copy.deepcopy(single_path)71                 path_now.append(node_next)72                 path_mid.append(path_now)73                 continue74 75     for i in range(num - 1, -1, -1):  # 進(jìn)行舊路段的刪除76         path_mid.pop(i)77 78     if len(path_mid) == 0:79         break80 81 # *** 數(shù)據(jù)輸出 *** #82 # print(path_target)83 # print(len(path_target))84 print(len(path_target)**9)

?

來(lái)源:http://www.icode9.com/content-4-161301.html
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
數(shù)據(jù)結(jié)構(gòu)之——Trie樹(shù) 及應(yīng)用
C語(yǔ)言面試題
經(jīng)典程序100例(71-80)
算法總結(jié)
結(jié)構(gòu)體類(lèi)型變量的定義和引用
經(jīng)典C/C++算法
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服