演算法 猜數字
小A 和 小B 在玩猜數字。小B 每次從 1, 2, 3 中隨機選擇一個,小A 每次也從 1, 2, 3 中選擇一個猜。他們一共進行三次這個遊戲,請返回 小A 猜對了幾次?
輸入的guess陣列為 小A 每次的猜測,answer陣列為 小B 每次的選擇。guess和answer的長度都等於3。
示例 1:
輸入:guess = [1,2,3], answer = [1,2,3]
輸出:3
解釋:小A 每次都猜對了。
示例 2:
輸入:guess = [2,2,3], answer = [3,2,1]
輸出:1
解釋:小A 只猜對了第二次。
演算法一:依次遍歷小A和小B的陣列,比較資料是否相同
int GuessNumber1(int arr[], int brr[])
{
int count = 0;
for (int i = 0;i < 3;i++)
{
if (arr[i] == brr[i])
count++;
}
}
演算法二:相對於演算法一的優化,使用vector陣列
int GuessNumber2(vector<int>& guess,vector<int>& answer)
{
if (guess.size() != answer.size()) return 0;
int cnt = 0;
for (auto i: {0,1,2}) // i 取0,1,2
{
if (guess[i] == answer[i]) cnt++;
}
return cnt;
}
測試用例:
int main()
{
vector<int> guess1 = { 1, 2, 3 };
vector<int> answer1 = { 1, 2, 3 };
auto ret1 = GuessNumber2(guess1, answer1);
vector<int> guess2 = { 2,2,3 };
vector<int> answer2 = { 3,2,1 };
auto ret2 = GuessNumber2(guess2, answer2);
cout << ret1 << " " << ret2 << endl;
return 0;
}
相關文章
- 猜數字遊戲遊戲
- Shell猜數字遊戲遊戲
- 猜數字小遊戲遊戲
- 【Java】——猜數字遊戲Java遊戲
- 猜數字的介面版
- 使用者猜數字遊戲遊戲
- leedcode-猜數字大小
- 以猜數字遊戲引出的分治演算法的理解與思考遊戲演算法
- 以太坊智慧合約-猜數字
- C#小遊戲-------猜數字 (轉)C#遊戲
- L1-056 猜數字 分數 20
- linux實現猜數字小遊戲Linux遊戲
- 7-24 猜數字遊戲 (15分)遊戲
- 簡單的C# 猜數字遊戲C#遊戲
- C#之簡易猜數字遊戲C#遊戲
- 第三章 猜數字遊戲遊戲
- [TJOI2009] 猜數字
- 猜字遊戲遊戲
- LeetCode-374-猜數字大小LeetCode
- 一個猜數字輸贏的小遊戲遊戲
- 一個拖拉且錯誤的猜數字程式
- L1-056 猜數字 (20分) C++C++
- Rust學習之旅1——寫個猜數字遊戲Rust遊戲
- 【python小練習】簡單的猜數字遊戲Python遊戲
- 透過編寫“猜數字”遊戲來學習 Awk遊戲
- LeetCode 299 猜數字遊戲 Java實現LeetCode遊戲Java
- 猜數記---BCWIPE註冊半破解 (25千字)
- LeetCode每日一題: 猜數字大小(No.374)LeetCode每日一題
- 【Java基礎教程】用Java實現猜數字小遊戲Java遊戲
- ORACLE數字演算法Oracle演算法
- Shell指令碼——Linux系統中的時間猜數字指令碼Linux
- C語言初學者(自學)做的一個猜數字小遊戲C語言遊戲
- 由一個C++版本猜數字遊戲引起的效率問題C++遊戲
- [CareerCup] 17.5 Game of Master Mind 猜字遊戲GAMAST遊戲
- C++之數字計數演算法C++演算法
- 實驗任務四:登入介面、實驗任務五:猜數字
- 吸血鬼數字演算法演算法
- JavaScript學習 猜數字小遊戲帶你學習for迴圈,變數,方法的定義JavaScript遊戲變數