OD 統(tǒng)一考試 B 卷:比賽的冠亞季軍
華為 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 卷:比賽的冠亞季軍
題目描述
有 N(3<=N<10000)個(gè)運(yùn)動(dòng)員,他們的 id 為 0 到 N-1,他們的實(shí)力由一組整數(shù)表示。他們之間進(jìn)行比賽,需要決出冠亞軍。比賽的規(guī)則是 0 號(hào)和 1 號(hào)比賽,2 號(hào)和 3 號(hào)比賽,以此類推,每一輪,相鄰的運(yùn)動(dòng)員進(jìn)行比賽,獲勝的進(jìn)入下一輪,實(shí)力值大的獲勝,實(shí)力值相等的情況,id 小的情況下獲勝,輪空的直接進(jìn)入下一輪。
輸入描述
輸入一行 N 個(gè)數(shù)字代表 N 的運(yùn)動(dòng)員的實(shí)力值(0<=實(shí)力值<=10000000000)。
輸出描述
輸出冠亞軍的 id,用空格隔開。
示例一
輸入
2 3 4 5
輸出
3 1 2
題解地址 ??
?? 華為 OD 機(jī)考 JAVA?https://dream.blog.csdn.net/article/details/131276768
?? 華為 OD 機(jī)考 Python?https://dream.blog.csdn.net/article/details/131276751
?? 華為 OD 機(jī)考 C++?https://dream.blog.csdn.net/article/details/131276778
?? 華為 OD 機(jī)考真 C 語言?https://dream.blog.csdn.net/article/details/130756157?spm=1001.2014.3001.5502
?? 華為 OD 機(jī)考 JS?https://dream.blog.csdn.net/article/details/131276788
?? 華為 OD 機(jī)考 Golang?https://dream.blog.csdn.net/article/details/130756157?spm=1001.2014.3001.5502
華為 OD 機(jī)試
華為 OD 機(jī)試是一種面向開發(fā)人員的在線筆試,旨在測試開發(fā)人員的編程能力、算法基礎(chǔ)和基礎(chǔ)知識(shí)掌握情況。
一、題目解析
華為 OD 機(jī)試的編程題則考察開發(fā)人員的編程能力、算法基礎(chǔ)和解決問題的能力。
二、考點(diǎn)分析
數(shù)據(jù)結(jié)構(gòu):鏈表、棧、隊(duì)列、二叉樹等。
算法基礎(chǔ):排序、查找、分治、動(dòng)態(tài)規(guī)劃、貪心等。
編程語言特性:語法、標(biāo)準(zhǔn)庫、常用操作等。
系統(tǒng)設(shè)計(jì):數(shù)據(jù)庫設(shè)計(jì)、系統(tǒng)架構(gòu)、網(wǎng)絡(luò)通信等。
三、解題思路
編程題:首先讀懂題目,明確題目要求和輸入輸出格式。然后分析問題,選擇合適的算法和數(shù)據(jù)結(jié)構(gòu)解決問題。在編寫代碼的過程中,要注意代碼的簡潔性、可讀性和健壯性。
四、代碼示例
選擇題代碼示例:給定一個(gè)整數(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
編程題代碼示例:給定一個(gè)字符串,找出其中的最長回文子串。
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ǔ)知識(shí)掌握情況。在準(zhǔn)備機(jī)試時(shí),需要加強(qiáng)算法和數(shù)據(jù)結(jié)構(gòu)的訓(xùn)練,同時(shí)還要熟悉常用的編程語言和開發(fā)工具。在解題時(shí),需要仔細(xì)讀題,理清思路,選擇合適的方法解決問題。最后,要注意代碼的簡潔性、可讀性和健壯性。