这个题意真的很难理解,说的完全不是人话,但是其实看懂了,这个题就非常容易做了,意思就是A代表这个数在答案里并且位置也对,B代表这个数在答案里,但是位置不对。这样就非常容易理解了。
最朴素解法。5ms
class Solution {
public String getHint(String secret, String guess) {
char[] secrets = secret.toCharArray();
char[] guesses = guess.toCharArray();
int x = 0;
int y = 0;
int[] xs = new int[10];
int[] ys = new int[10];
for(int i=0,j=0;i0){
xs[ansy]--;
ys[ansy]--;
y++;
}
if(ys[ansx]>0){
ys[ansx]--;
xs[ansx]--;
y++;
}
}
}
String res = x+"A"+y+"B";
return res;
}
}
看见评论一个大佬,这样写快了1ms
class Solution {
public String getHint(String secret, String guess) {
char[] secrets = secret.toCharArray();
char[] guesses = guess.toCharArray();
int x = 0;
int y = 0;
int[] xs = new int[10];
int[] ys = new int[10];
for(int i=0;i



