劍指 Offer 61 撲克牌中的順子

2021-10-08 12:05:31 字數 686 閱讀 6120

題目如所示。這道題目,其實一看到陣列就能判斷是不是能成為順子,關鍵是要把人的思維轉換成計算機的語言。此題主要用到了三個邏輯來判斷。

利用arrays.sort()將陣列排序,便於迴圈判斷。

判斷陣列中是否有對子出現,若有對子(兩個數一樣),則肯定不能成為順子。**表現為,判斷陣列中前後兩個數大小是相等。

計算出陣列中0的個數,因為0可以當作任意陣列使用。

計算出陣列中不是連續數字的個數,並且得出數字間隔的總數。例如,3,4 這兩個數是連續數字,則間隔是0,如果是3,6那麼間隔就是6-3-1=2,即3和6之間空缺了4,5兩個數。

判斷0的個數是否》=空缺的個數,若滿足,則是順子。

class solution 

return numsofzero >= numsofgap;}}

這篇講解寫的更好 

根據他的思路2,我寫出的**

class solution 

if (nums[i] == nums[i + 1]) return false;

}return nums[4] - nums[numsofzero] < 5;}}

劍指Offer 61 撲克牌中的順子

題目描述 ll今天心情特別好,因為他去買了一副撲克牌,發現裡面居然有2個大王,2個小王 一副牌原本是54張 他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿!紅心a,黑桃3,小王,大王,方片5 oh my god 不是順子 ll不高興了,他想了想,...

劍指 Offer 61 撲克牌中的順子

總結 從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2 10為數字本身,a為1,j為11,q為12,k為13,而大 小王為 0 可以看成任意數字。a 不能視為 14。示例 1 輸入 1 2,3 4,5 輸出 true示例 2 輸入 0 0,1 2,5 輸出 true限制 陣列長...

劍指offer 61 撲克牌中的順子

題目鏈結 題目描述 從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2 10為數字本身,a為1,j為11,q為12,k為13,而大 小王為 0 可以看成任意數字。a 不能視為 14。示例 1 輸入 1,2,3,4,5 輸出 true 示例 2 輸入 0,0,1,2,5 輸出 tr...