演算法 猜數字
小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;
}
相關文章
- 猜數字
- 猜數字11.9
- 猜數字遊戲遊戲
- [TJOI2009] 猜數字
- leedcode-猜數字大小
- Shell猜數字遊戲遊戲
- 猜數字小遊戲遊戲
- 猜數字的介面版
- 【Java】——猜數字遊戲Java遊戲
- LeetCode-374-猜數字大小LeetCode
- 使用者猜數字遊戲遊戲
- 以太坊智慧合約-猜數字
- 以猜數字遊戲引出的分治演算法的理解與思考遊戲演算法
- L1-056 猜數字 分數 20
- linux實現猜數字小遊戲Linux遊戲
- LeetCode 299 猜數字遊戲 Java實現LeetCode遊戲Java
- 7-24 猜數字遊戲 (15分)遊戲
- LeetCode每日一題: 猜數字大小(No.374)LeetCode每日一題
- C#之簡易猜數字遊戲C#遊戲
- L1-056 猜數字 (20分) C++C++
- 一個拖拉且錯誤的猜數字程式
- Rust學習之旅1——寫個猜數字遊戲Rust遊戲
- 【python小練習】簡單的猜數字遊戲Python遊戲
- wordle game 猜字遊戲GAM遊戲
- 透過編寫“猜數字”遊戲來學習 Awk遊戲
- Shell指令碼——Linux系統中的時間猜數字指令碼Linux
- 【Java基礎教程】用Java實現猜數字小遊戲Java遊戲
- LeetCode題解(1178):猜字謎(Python)LeetCodePython
- C++之數字計數演算法C++演算法
- 看標頭檔案猜演算法演算法
- C語言初學者(自學)做的一個猜數字小遊戲C語言遊戲
- 每日一道演算法:羅馬數字轉整數演算法
- 回憶小時的快樂,利用python做一款數字猜謎小遊戲Python遊戲
- Java學習筆記(一) 猜數遊戲Java筆記遊戲
- 演算法 | 數字影像處理之「中值濾波」演算法
- 猜謎
- 資料探勘——KNN演算法(手寫數字分類)KNN演算法
- L1-093 猜帽子游戲 分數 15