public String getHint(String secret, String guess) {
/*
判断bull 是通过比较两个字符串的每一位,每次相同就删除该字符出现的次数,因为后边的
要判断cow不能占用这些
判断cow只要检测出去被占用的还有没有该字符
*/
//key记录字符,value记录出现的次数
Map<Character,Integer> map = new HashMap<>();
String res = "";
int a = 0;
int b = 0;
boolean[] boo = new boolean[secret.length()];
for (int i = 0; i < secret.length(); i++) {
char cur = secret.charAt(i);
int num = map.getOrDefault(cur,0);
num++;
map.put(cur,num);
}
//判断bull和cow不能一起,要先判断bull,因为如果在判断cow的过程中会占用,会影响bull
for (int i = 0; i < guess.length(); i++) {
char cur = guess.charAt(i);
if (cur==secret.charAt(i))
{
a++;
boo[i] = true;
map.put(cur,map.get(cur)-1);
}
}
for (int i = 0; i < guess.length(); i++) {
char cur = guess.charAt(i);
if (!boo[i]&&map.containsKey(cur)&&map.get(cur)>0)
{
b++;
map.put(cur,map.get(cur)-1);
}
}
res = a+"A"+b+"B";
return res;
}

最新文章

  1. 初转java随感(一)程序=数据结构+算法
  2. osgi dm
  3. 数组的Clone方法
  4. java 16 - 9 增强for的概述和使用
  5. (转)在PHP语言中使用JSON
  6. Wordnet 与 Hownet 比较
  7. angularJs--$on、$emit和$broadcast的使用
  8. ping时不知道ping那个Ip的解决办法
  9. openwrt 汉化
  10. L6,Percy Buttons
  11. RHCE之配置autofs远程挂载远程服务器的家目录
  12. QNetworkAccessManager
  13. LeetCode题解之Sort List
  14. NHibernate出现could not execute query问题
  15. Tomcat启动log打印到INFO: At least one JAR was scanned for TLDs yet contained no TLD各种解决方式
  16. apache+jetty 配置web jsp服务器负载均衡
  17. iOS 设备信息获取
  18. Python(并发编程进程)
  19. CF724E Goods transportation
  20. linux中字符串转换函数 simple_strtoul【转】

热门文章

  1. 「考试」CSP-S 2020
  2. 图像分割必备知识点 | Unet++超详解+注解
  3. JZOJ8月8日提高组反思
  4. moviepy音视频剪辑:AudioClip帧处理时报TypeError: only size-1 arrays can be converted to Python scalar错
  5. moviepy音视频剪辑:多个视频合成一个视频
  6. PyQt(Python+Qt)学习随笔:QTreeWidgetItem项下的子项列表中增加子项的方法
  7. PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置
  8. 搭建xss-platform平台
  9. "迎圣诞,拿大奖"赛题——SQLI
  10. ASP.NET 漂亮美观的验证码