你和朋友一起玩猜數字游戲,你寫出一個秘密數字,請朋友猜這個數字是多少。朋友每猜測一次,你就會給他一個包含下述信息的提示:
猜測數字中有多少位屬于數字和確切位置都猜對了(稱為 "Bulls",公牛),有多少位屬于數字猜對了但是位置不對(稱為 "Cows",奶牛)。
也就是說,這次猜測中有多少位非公牛數字可以通過重新排列轉換成公牛數字。
給你一個秘密數字secret和朋友猜測的數字guess,請你返回對朋友這次猜測的提示。提示的格式為 "xAyB" ,x 是公牛個數, y 是奶牛個數,A 表示公牛,B 表示奶牛。
注意:秘密數字和朋友猜測的數字都可能含有重復數字。
示例 1:
輸入:(依次輸入secret、guessr的值?)
"1807"
"7810"
輸出:
1A3B
解釋:數字和位置都對(公牛)用 '|' 連接,數字猜對位置不對(奶牛)的采用斜體加粗標識。
"1807"
? ? |
"7810"
示例 2:
輸入:(依次輸入secret、guessr的值?)
"1123"
"0111"
輸出:
1A1B
解釋:數字和位置都對(公牛)用 '|' 連接,數字猜對位置不對(奶牛)的采用斜體加粗標識。
"1123" ? ? ? ?"1123"
? ? | ? ? ?or ? ? ? ?|
"0111" ? ? ? ?"0111"
注意,兩個不匹配的 1 中,只有一個會算作奶牛(數字猜對位置不對)。通過重新排列非公牛數字,其中僅有一個1可以成為公牛數字。