1.自己的做法
class solution {
public string gethint(string secret, string guess) {
int a=0,b=0;
char sc = secret.tochararray();
char gs = guess.tochararray();
for(int i=0;i這種做法,分為兩步,
1.首先要把「公牛」找出,就是說把數字和位置都猜對的位置找出來,並且要在 secret陣列打標記,說明這個位置已經用過了,不能讓guess陣列中重複的數字 重複使用secret中的數字
2.然後就要找「奶牛」,找奶牛的乙個條件是 如果sc[i]='a',這個guess位置上的判定過了,就跳過
2.題解
class solution {
public string gethint(string secret, string guess) {
int a=0,b=0;
int s = new int[10];
int g = new int[10];
for(int i=0;i這個做法的角度是統計secret和guess中各種數字出現的次數,放在s,g中,每個i位置放的就是數字i出現的頻率
第乙個迴圈很好理解
第二個迴圈指的是 遍歷s陣列,取s[i]和g[i]中的較小數
取較小數的意思是指,比如在secret中1出現了5 次,在guess**現了3次 肯定取最小數
這個最後得到的b其實是公牛和奶牛的組合,所以要用b-a
今天差點忘了2020.9.27
leetcode299 猜數字遊戲
你正在和你的朋友玩 猜數字 bulls and cows 遊戲 你寫下乙個數字讓你的朋友猜。每次他猜測後,你給他乙個提示,告訴他有多少位數字和確切位置都猜對了 稱為 bulls 公牛 有多少位數字猜對了但是位置不對 稱為 cows 奶牛 你的朋友將會根據提示繼續猜,直到猜出秘密數字。請寫出乙個根據秘...
LeetCode299 猜數字遊戲
題目 你正在和你的朋友玩 猜數字 bulls and cows 遊戲 你寫下乙個數字讓你的朋友猜。每次他猜測後,你給他乙個提示,告訴他有多少位數字和確切位置都猜對了 稱為 bulls 公牛 有多少位數字猜對了但是位置不對 稱為 cows 奶牛 你的朋友將會根據提示繼續猜,直到猜出秘密數字。請寫出乙個...
LeetCode 299 猜數字遊戲
你正在和你的朋友玩 猜數字 bulls and cows 遊戲 你寫下乙個數字讓你的朋友猜。每次他猜測後,你給他乙個提示,告訴他有多少位數字和確切位置都猜對了 稱為 bulls 公牛 有多少位數字猜對了但是位置不對 稱為 cows 奶牛 你的朋友將會根據提示繼續猜,直到猜出秘密數字。請寫出乙個根據秘...