-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathleetcode299.java
More file actions
34 lines (31 loc) · 1.07 KB
/
Copy pathleetcode299.java
File metadata and controls
34 lines (31 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package leetcode;
import java.util.HashMap;
import java.util.Map;
public class leetcode299 {
public String getHint(String secret, String guess) {
String res="";
Map<Character,Integer> secret_map=new HashMap<>();
Map<Character,Integer> guess_map=new HashMap<>();
int numofBulls=0;
int numofCows=0;
for (int i = 0; i <secret.length(); i++) {
if (secret.charAt(i)==guess.charAt(i)){
numofBulls++;
}else {
secret_map.put(secret.charAt(i),secret_map.getOrDefault(secret.charAt(i),0)+1);
guess_map.put(guess.charAt(i),guess_map.getOrDefault(guess.charAt(i),0)+1);
}
}
for (Character c:
secret_map.keySet()) {
numofCows+=guess_map.getOrDefault(c,0)>=secret_map.get(c)?secret_map.get(c):guess_map.getOrDefault(c,0);
}
res+=numofBulls+"A"+numofCows+"B";
return res;
}
public static void main(String[] args) {
new leetcode299().getHint(
"1807","7810"
);
}
}