zoukankan      html  css  js  c++  java
  • 299. Bulls and Cows

    You are playing the following Bulls and Cows game with your friend: You write down a number and ask your friend to guess what the number is. Each time your friend makes a guess, you provide a hint that indicates how many digits in said guess match your secret number exactly in both digit and position (called "bulls") and how many digits match the secret number but locate in the wrong position (called "cows"). Your friend will use successive guesses and hints to eventually derive the secret number.

    Write a function to return a hint according to the secret number and friend's guess, use A to indicate the bulls and B to indicate the cows. 

    Please note that both secret number and friend's guess may contain duplicate digits.

    Example 1:

    Input: secret = "1807", guess = "7810"
    
    Output: "1A3B"
    
    Explanation: 1 bull and 3 cows. The bull is 8, the cows are 0, 1 and 7.

    Example 2:

    Input: secret = "1123", guess = "0111"
    
    Output: "1A1B"
    
    Explanation: The 1st 1 in friend's guess is a bull, the 2nd or 3rd 1 is a cow.

    Note: You may assume that the secret number and your friend's guess only contain digits, and their lengths are always equal.

    class Solution {
        public String getHint(String secret, String guess) {
            int[] a1 = new int[10];
            int[] a2 = new int[10];
            int bull = 0;
            int cow = 0;
            
            for (int i = 0; i < secret.length(); i++) {
                if (secret.charAt(i) == guess.charAt(i)) bull++;
                else {
                    a1[secret.charAt(i) - '0']++;
                    a2[guess.charAt(i) - '0']++;
                }
            }
            
            for (int i = 0; i < 10; i++) {
                cow += Math.min(a1[i], a2[i]);
            }
            
            String res = "";
            res = res + bull + 'A' + cow + 'B';return res;
        }
    }
  • 相关阅读:
    SpringBoot和SpringCould的关系
    MyBatis全局配置文件头
    MyBatis的SQL映射文件头
    MyBatis 驼峰式配置 yml配置
    频率组件
    序列化和反序列化
    生成器面试题
    序列化组件
    进程间通信IPC机制
    信号量、event事件和线程queue
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/11802915.html
Copyright © 2011-2022 走看看