public class Solution {
public String getHint(String secret, String guess) {
int bulls = 0;
int cows = 0;
int[] nums = new int[10];
int len = secret.length();
for (int i = 0; i < len; i++) {
if (secret.charAt(i) == guess.charAt(i)) {
bulls++;
} else {
if (nums[secret.charAt(i) - '0']++ < 0)
cows++;
if (nums[guess.charAt(i) - '0']-- > 0)
cows++;
}
}
return bulls + "A" + cows + "B";
}
public static void main(String[] args) {
String secret = "1807";
String guess = "7810";
System.out.println(new Solution().getHint(secret, guess));
}
}
[leetcode原题] https://leetcode.com/problems/bulls-and-cows
[参考资料] https://leetcode.com/discuss/67031/one-pass-java-solution