雜湊解題 leetcode299猜數字遊戲

2021-09-14 00:51:44 字數 855 閱讀 3129

這一題如果用hash做非常容易,時間複雜度為o(n)

你正在和你的朋友玩 猜數字(bulls and cows)遊戲:你寫下乙個數字讓你的朋友猜。每次他猜測後,你給他乙個提示,告訴他有多少位數字和確切位置都猜對了(稱為「bulls」, 公牛),有多少位數字猜對了但是位置不對(稱為「cows」, 奶牛)。你的朋友將會根據提示繼續猜,直到猜出秘密數字。

請寫出乙個根據秘密數字和朋友的猜測數返回提示的函式,用 a 表示公牛,用 b 表示奶牛。

請注意秘密數字和朋友的猜測數都可能含有重複數字。

示例 1:

輸入: secret = 「1807」, guess = 「7810」

輸出: 「1a3b」

解釋: 1 公牛和 3 奶牛。公牛是 8,奶牛是 0, 1 和 7。

示例 2:

輸入: secret = 「1123」, guess = 「0111」

輸出: 「1a1b」

解釋: 朋友猜測數中的第乙個 1 是公牛,第二個或第三個 1 可被視為奶牛。

說明: 你可以假設秘密數字和朋友的猜測數都只包含數字,並且它們的長度永遠相等。

我建立了兩個長度為10的陣列作為雜湊表,分別儲存serect和guess中不是bull的數字出現次數,最後cow的值就是每個數字出現次數取最小值 的和。

public string gethint(string secret, string guess)   

}for(i=0;i<10;i++)

cow+=math.min(num1[i], num2[i]);

string ans=bull+"a"+cow+"b";

return ans;

}

leetcode299 猜數字遊戲

你正在和你的朋友玩 猜數字 bulls and cows 遊戲 你寫下乙個數字讓你的朋友猜。每次他猜測後,你給他乙個提示,告訴他有多少位數字和確切位置都猜對了 稱為 bulls 公牛 有多少位數字猜對了但是位置不對 稱為 cows 奶牛 你的朋友將會根據提示繼續猜,直到猜出秘密數字。請寫出乙個根據秘...

LeetCode299 猜數字遊戲

題目 你正在和你的朋友玩 猜數字 bulls and cows 遊戲 你寫下乙個數字讓你的朋友猜。每次他猜測後,你給他乙個提示,告訴他有多少位數字和確切位置都猜對了 稱為 bulls 公牛 有多少位數字猜對了但是位置不對 稱為 cows 奶牛 你的朋友將會根據提示繼續猜,直到猜出秘密數字。請寫出乙個...

LeetCode 299 猜數字遊戲

你正在和你的朋友玩 猜數字 bulls and cows 遊戲 你寫下乙個數字讓你的朋友猜。每次他猜測後,你給他乙個提示,告訴他有多少位數字和確切位置都猜對了 稱為 bulls 公牛 有多少位數字猜對了但是位置不對 稱為 cows 奶牛 你的朋友將會根據提示繼續猜,直到猜出秘密數字。請寫出乙個根據秘...