華為OD 整理撲克牌
本期題目:整理撲克牌 ??
題目 ??
給定一組數(shù)字,表示撲克牌的牌面數(shù)字,忽略撲克牌的花色,請安如下規(guī)則對這一組撲克牌進(jìn)行整理。
步驟一: 對撲克牌進(jìn)行分組,規(guī)則如下
當(dāng)牌面數(shù)字相同張數(shù)大于等于
4
時(shí),組合牌為炸彈
;三張相同牌面數(shù)字+兩張
相同牌面數(shù)字,且三張牌與兩張牌不相同時(shí),組合牌為葫蘆
;三張相同牌面數(shù)字
,組合牌為三張
,兩張相同牌面數(shù)字
,組合牌為對子
,剩余沒有相同的牌則為
單張
步驟二: 對上述組合牌進(jìn)行由大到小排列,規(guī)則如下:
不同類型組合牌之間由大到小排列規(guī)則: 炸彈 > 葫蘆 > 三張 > 對子 > 單張
相同類型組合牌之間,除葫蘆外,按組合牌全部牌面數(shù)字加總,由大到小排列
葫蘆則先按三張相同牌面數(shù)字加總,由大到小排列,三張相同牌面數(shù)字加總相同時(shí),再按另外兩張牌面數(shù)字加總,由大到小排列;
由于葫蘆大于三張,因此如果能形成更大的組合牌,也可以將三張拆分為兩張或一張,其中的兩張可以和其他三張重新組合成葫蘆,剩下的一張為單張;
步驟三:
當(dāng)存在多個(gè)可能組合方案時(shí),按如下規(guī)則排序取最大的一個(gè)組合牌:
依次對組合方案中的組合牌進(jìn)行大小比較,規(guī)則同上;
當(dāng)組合方案 A 中的第 N 個(gè)組合牌 > 組合方案 B 中的第 N 個(gè)組合牌時(shí),即組合方案 A 大于組合方案 B;
輸入 ??
第一行為空格分隔的 N 個(gè)正整數(shù),每個(gè)整數(shù)取值范圍 [1,13],N 的取值范圍 [1,1000]
輸出 ??
經(jīng)重新排列后的撲克牌數(shù)字列表,每個(gè)數(shù)字以空格分隔
題解地址 ??
?? 華為 OD 機(jī)考 Python https://blog.csdn.net/hihell/article/details/128995233
?? 華為 OD 機(jī)考 C++ https://blog.csdn.net/hihell/article/details/129191778
?? 華為 OD 機(jī)考 JS https://blog.csdn.net/hihell/category_12201825.html
?? 華為 OD 機(jī)考 JAVA https://blog.csdn.net/hihell/category_12201821.html
?? 華為 OD 機(jī)考 Golang https://blog.csdn.net/hihell/category_12231589.html
?? 華為 OD 機(jī)考真 C 語言 https://blog.csdn.net/hihell/article/details/129344183
華為 OD 機(jī)試
華為 OD 機(jī)試需要多長時(shí)間?它的流程是怎樣的?華為 OD 機(jī)試的時(shí)間長度因崗位要求而異,一般為 1-2 個(gè)小時(shí)。應(yīng)聘者需要在規(guī)定時(shí)間內(nèi)完成多個(gè)題目的答題和代碼實(shí)現(xiàn)。華為 OD 機(jī)試的流程包括題目分發(fā)、答題、代碼實(shí)現(xiàn)和自動評估等多個(gè)環(huán)節(jié),每個(gè)環(huán)節(jié)都需要應(yīng)聘者嚴(yán)格按照要求完成。