OD 統(tǒng)一考試 B 卷:支持優(yōu)先級的隊列
華為 OD 機(jī)試【4 大寶典】再次上新題!
① Python 解華為機(jī)試題 :https://dream.blog.csdn.net/article/details/129221789
② C++ 解華為機(jī)試題:https://dream.blog.csdn.net/article/details/129472919
③ Java 解華為機(jī)試題:https://dream.blog.csdn.net/article/details/129652513
④ C 解華為機(jī)試題:https://dream.blog.csdn.net/article/details/129658432
OD 統(tǒng)一考試 B 卷:支持優(yōu)先級的隊列
題目描述
實(shí)現(xiàn)一個支持優(yōu)先級的隊列,高優(yōu)先級先出隊列;同優(yōu)先級時先進(jìn)先出。 如果兩個輸入數(shù)據(jù)和優(yōu)先級都相同,則后一個數(shù)據(jù)不入隊列被丟棄。 隊列存儲的數(shù)據(jù)內(nèi)容是一個整數(shù)。
輸入描述
一組待存入隊列的數(shù)據(jù)(包含內(nèi)容和優(yōu)先級)
輸出描述
隊列的數(shù)據(jù)內(nèi)容(優(yōu)先級信息輸出時不再體現(xiàn))
補(bǔ)充說明
不用考慮輸入數(shù)據(jù)不合法的情況,測試數(shù)據(jù)不超過 100 個
題解地址 ??
?? 華為 OD 機(jī)考 JAVA?https://dream.blog.csdn.net/article/details/131330468
?? 華為 OD 機(jī)考 Python?https://dream.blog.csdn.net/article/details/131330445
?? 華為 OD 機(jī)考 C++?https://dream.blog.csdn.net/article/details/131330496
?? 華為 OD 機(jī)考真 C 語言?https://dream.blog.csdn.net/article/details/129482392
?? 華為 OD 機(jī)考 JS?https://dream.blog.csdn.net/article/details/131330545
?? 華為 OD 機(jī)考 Golang?https://dream.blog.csdn.net/article/details/131330570
華為 OD 機(jī)試
華為 OD 機(jī)試是一種面向開發(fā)人員的在線筆試,旨在測試開發(fā)人員的編程能力、算法基礎(chǔ)和基礎(chǔ)知識掌握情況。
一、題目解析
華為 OD 機(jī)試的編程題則考察開發(fā)人員的編程能力、算法基礎(chǔ)和解決問題的能力。
二、考點(diǎn)分析
數(shù)據(jù)結(jié)構(gòu):鏈表、棧、隊列、二叉樹等。
算法基礎(chǔ):排序、查找、分治、動態(tài)規(guī)劃、貪心等。
編程語言特性:語法、標(biāo)準(zhǔn)庫、常用操作等。
系統(tǒng)設(shè)計:數(shù)據(jù)庫設(shè)計、系統(tǒng)架構(gòu)、網(wǎng)絡(luò)通信等。
三、解題思路
編程題:首先讀懂題目,明確題目要求和輸入輸出格式。然后分析問題,選擇合適的算法和數(shù)據(jù)結(jié)構(gòu)解決問題。在編寫代碼的過程中,要注意代碼的簡潔性、可讀性和健壯性。
四、代碼示例
選擇題代碼示例:給定一個整數(shù)數(shù)組,找出數(shù)組中第二大的元素。
def find_second_largest(nums):
? ?largest = -1
? ?second_largest = -1
? ?for num in nums: ? ? ? ?if num > largest:
? ? ? ? ? ?second_largest = largest
? ? ? ? ? ?largest = num ? ? ? ?elif num > second_largest and num < largest:
? ? ? ? ? ?second_largest = num ? ?return second_largest
編程題代碼示例:給定一個字符串,找出其中的最長回文子串。
def longest_palindrome(s): ? ?if len(s) < 2: ? ? ? ?return s
? ?max_len = 1
? ?start = 0
? ?for i in range(len(s)): ? ? ? ?if i - max_len >= 1 and s[i - max_len - 1:i + 1] == s[i - max_len - 1:i + 1][::-1]:
? ? ? ? ? ?start = i - max_len - 1
? ? ? ? ? ?max_len += 2
? ? ? ? ? ?continue
? ? ? ?if s[i - max_len:i + 1] == s[i - max_len:i + 1][::-1]:
? ? ? ? ? ?start = i - max_len
? ? ? ? ? ?max_len += 1
? ?return s[start:start + max_len]
五、總結(jié)
華為 OD 機(jī)試是一種針對開發(fā)人員的在線筆試,主要考察開發(fā)人員的編程能力、算法基礎(chǔ)和基礎(chǔ)知識掌握情況。在準(zhǔn)備機(jī)試時,需要加強(qiáng)算法和數(shù)據(jù)結(jié)構(gòu)的訓(xùn)練,同時還要熟悉常用的編程語言和開發(fā)工具。在解題時,需要仔細(xì)讀題,理清思路,選擇合適的方法解決問題。最后,要注意代碼的簡潔性、可讀性和健壯性。