[CareerCup] 17.5 Game of Master Mind 猜字游戏

简介:

17.5 The Came of Master Mind is played as follows: The computer has four slots, and each slot will contain a ball that is red (R), yellow (Y), green (C) or blue (B). For example, the computer might have RGGB (Slot # 1 is red, Slots #2 and #3 are green, Slot #4 is blue). You, the user, are trying to guess the solution. You might, for example, guess YRGB. When you guess the correct color for the correct slot, you get a "hit." If you guess a color that exists but is in the wrong slot, you get a "pseudo-hit." Note that a slot that is a hit can never count as a pseudo-hit. For example, if the actual solution is RGBYandyou guess GGRR, you have one hit and one pseudo-hit. Write a method that, given a guess and a solution, returns the number of hits and pseudo-hits.

LeetCode上的原题,讲解请参见我之前的博客Bulls and Cows

解法一:

string getHint(string answer, string guess) {
    int m[256] = {0}, h = 0, p = 0;
    for (int i = 0; i < answer.size(); ++i) {
        if (answer[i] == guess[i]) ++h;
        else ++m[answer[i]];
    }
    for (int i = 0; i < answer.size(); ++i) {
        if (answer[i] != guess[i] && m[guess[i]]) {
            ++p;
            --m[guess[i]];
        }
    }
    return to_string(h) + "H" + to_string(p) + "P";
}

解法二:

string getHint(string answer, string guess) {
    int m[256] = {0}, h = 0, p = 0;
    for (int i = 0; i < answer.size(); ++i) {
        if (answer[i] == guess[i]) ++h;
        else {
            if (m[answer[i]]++ < 0) ++p;
            if (m[guess[i]]-- > 0) ++p;
        }
    }
    return to_string(h) + "H" + to_string(p) + "P";
}

本文转自博客园Grandyang的博客,原文链接:猜字游戏[CareerCup] 17.5 Game of Master Mind ,如需转载请自行联系原博主。

相关文章
|
存储 算法
LeetCode 289. Game of Life
如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡; 如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活; 如果活细胞周围八个位置有超过三个活细胞,则该位置活细胞死亡; 如果死细胞周围正好有三个活细胞,则该位置死细胞复活;
79 0
LeetCode 289. Game of Life
《Fighting Cybercrime A Joint Task Force of Real-Time Data and Human Analytics》电子版地址
Fighting Cybercrime: A Joint Task Force of Real-Time Data and Human Analytics
88 0
《Fighting Cybercrime A Joint Task Force of Real-Time Data and Human Analytics》电子版地址
|
自然语言处理
Re26:读论文 Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks
Re26:读论文 Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks
Re26:读论文 Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks
Stop Thinking Small. Start Thinking Micro-national.
The advent of the Internet means that most small businesses nowadays might be better described as “micro-nationals”.
1301 0
|
机器人 C++
Codeforces 626A Robot Sequence(模拟)
A. Robot Sequence time limit per test:2 seconds memory limit per test:256 megabytes input:standard input output:standard out...
997 0
|
Go 异构计算
Teaching Your Computer To Play Super Mario Bros. – A Fork of the Google DeepMind Atari Machine Learning Project
Teaching Your Computer To Play Super Mario Bros. – A Fork of the Google DeepMind Atari Machine Learning Project   Posted by ehrenbrav on August 2...
|
C++
LeetCode 289 Game of Life(生命游戏)(Array)
版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/52122735 翻译 根据维基百科的文章介绍:“Game of Life,简称为Life,是一个被英国数学家John Conway在1970年提出的细胞自动分裂器。
1647 0

热门文章

最新文章