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