Skip to content

xup6m6fu04/poker-hand-evaluator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

poker-hand-evaluator

說明

某公司的面試題目
解法觀念主要參考


備註

A.
解法一定不是最好的,只是紀錄下思考過程。

B.
資料夾結構是對方規定的,裡面有一些查表的東西其實是共用的。
實際上可以拆開,我只是為了全部寫在一隻檔案內。

C.
總共只有前四題,第五題是我自己額外考自己的 (畢竟7張牌選5張才是真實德州撲克的情況)

D.
執行在 main.go 裡面,直接 go run main.go 即可


題目

說明

返回的數字含義如下:
1、皇家同花順:如果花色一樣,數字分別是10,J,Q,K,A
2、同花順:如果花色一樣,數字是連續的,皇家同花順除外
3、金剛:其中4張牌數字一樣
4、葫蘆:其中3張牌數字一樣,另外2張牌數字一樣
5、同花:花色一樣,數字不連續
6、順子:數字是連續,花色不一樣
7、三條:其中3張牌數字一樣,另外2張牌數字不一樣
8、兩對:其中2張牌數字一樣,另外其中2張牌數字一樣,最後一張數字不一樣
9、一對:其中2張牌數字一樣,另外數字不一樣
10、高牌:什麽都不是

Question 1:

輸入的5個字母代表5張牌,含義如下:
2d,3d,4d,5d,6d,7d,8d,9d,Td,Hd,Qd,Kd,Ad分別代表方塊2,3,4,5,6,7,8,9,10,J,Q,K,A
2c,3c,4c,5c,6c,7c,8c,9c,Tc,Hc,Qc,Kc,Ac分別代表梅花2,3,4,5,6,7,8,9,10,J,Q,K,A
2h,3h,4h,5h,6h,7h,8h,9h,Th,Hh,Qh,Kh,Ah分別代表紅桃2,3,4,5,6,7,8,9,10,J,Q,K,A
2s,3s,4s,5s,6s,7s,8s,9s,Ts,Hs,Qs,Ks,As分別代表黑桃2,3,4,5,6,7,8,9,10,J,Q,K,A
返回的數字請參考說明。

Question 2:

輸入的5個字母代表5張牌,含義如下:
2d,3d,4d,5d,6d,7d,8d,9d,Td,Hd,Qd,Kd,Ad分別代表方塊2,3,4,5,6,7,8,9,10,J,Q,K,A
2c,3c,4c,5c,6c,7c,8c,9c,Tc,Hc,Qc,Kc,Ac分別代表梅花2,3,4,5,6,7,8,9,10,J,Q,K,A
2h,3h,4h,5h,6h,7h,8h,9h,Th,Hh,Qh,Kh,Ah分別代表紅桃2,3,4,5,6,7,8,9,10,J,Q,K,A
2s,3s,4s,5s,6s,7s,8s,9s,Ts,Hs,Qs,Ks,As分別代表黑桃2,3,4,5,6,7,8,9,10,J,Q,K,A
SJ代表小王
BJ代表大王
小王大王可以變為任意牌,要求算出小王大王變換後最大牌型
返回的數字請參考說明。

Question 3:

輸入是2個string的slice,第1個slice的長度是2,代表自己的手牌,第2個slice的長度是5,代表公共牌,字母含義如下:
2d,3d,4d,5d,6d,7d,8d,9d,Td,Hd,Qd,Kd,Ad分別代表方塊2,3,4,5,6,7,8,9,10,J,Q,K,A
2c,3c,4c,5c,6c,7c,8c,9c,Tc,Hc,Qc,Kc,Ac分別代表梅花2,3,4,5,6,7,8,9,10,J,Q,K,A
2h,3h,4h,5h,6h,7h,8h,9h,Th,Hh,Qh,Kh,Ah分別代表紅桃2,3,4,5,6,7,8,9,10,J,Q,K,A
2s,3s,4s,5s,6s,7s,8s,9s,Ts,Hs,Qs,Ks,As分別代表黑桃2,3,4,5,6,7,8,9,10,J,Q,K,A
從7張牌中找出組成最大牌型的5張牌,返回牌型,
返回的數字請參考說明。
請提供較高性能的方案

Question 4:

輸入是2個string的slice,第1個slice的長度是2,代表自己的手牌,第2個slice的長度是5,代表公共牌,字母含義如下:
2d,3d,4d,5d,6d,7d,8d,9d,Td,Hd,Qd,Kd,Ad分別代表方塊2,3,4,5,6,7,8,9,10,J,Q,K,A
2c,3c,4c,5c,6c,7c,8c,9c,Tc,Hc,Qc,Kc,Ac分別代表梅花2,3,4,5,6,7,8,9,10,J,Q,K,A
2h,3h,4h,5h,6h,7h,8h,9h,Th,Hh,Qh,Kh,Ah分別代表紅桃2,3,4,5,6,7,8,9,10,J,Q,K,A
2s,3s,4s,5s,6s,7s,8s,9s,Ts,Hs,Qs,Ks,As分別代表黑桃2,3,4,5,6,7,8,9,10,J,Q,K,A
從7張牌中找出組成最大牌型的5張牌
只有1個對手,算出自己的勝率百分比,只保留整數部分
請提供較高性能的方案

Question 5:

輸入的7個字母代表7張牌,含義如下:
2d,3d,4d,5d,6d,7d,8d,9d,Td,Hd,Qd,Kd,Ad分別代表方塊2,3,4,5,6,7,8,9,10,J,Q,K,A
2c,3c,4c,5c,6c,7c,8c,9c,Tc,Hc,Qc,Kc,Ac分別代表梅花2,3,4,5,6,7,8,9,10,J,Q,K,A
2h,3h,4h,5h,6h,7h,8h,9h,Th,Hh,Qh,Kh,Ah分別代表紅桃2,3,4,5,6,7,8,9,10,J,Q,K,A
2s,3s,4s,5s,6s,7s,8s,9s,Ts,Hs,Qs,Ks,As分別代表黑桃2,3,4,5,6,7,8,9,10,J,Q,K,A
SJ代表小王
BJ代表大王
小王大王可以變為任意牌,要求算出小王大王變換後最大牌型 (只取5張牌)
返回的數字請參考說明。

About

德州撲克 Texas Hold'em 算牌器

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages