题解 | #坐标移动#

坐标移动

http://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

//JAVA 用正则
//Map.getOrDefault()这个函数要活用起来。

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String inStr = sc.nextLine();
        int x = 0 , y = 0;
        String[] codiArr = inStr.split(";");
        //正则匹配 []里面匹配一个,java里面\\d是\d的转义,代表数字0-9 
        String regex = "[A|S|D|W]\\d{1}\\d?";
        Map<Character,Integer> outMap = new HashMap<>();
        //获取有效的坐标数据
        for(int i =0;i<codiArr.length;i++){
            if(codiArr[i].matches(regex)){
                //outMap.getOrDefault(codiArr[i],1) 
                //方法为如果map中已经有相应的key,就返回这个key对应的value,否则就返回后面的默认值,这里是设置的int类型的计算,所以这里根据需求设置默认值为0
                outMap.put(codiArr[i].charAt(0),outMap.getOrDefault(codiArr[i].charAt(0),0) + Integer.parseInt(codiArr[i].substring(1,codiArr[i].length())));
            }
        }
            x = x - outMap.get('A') + outMap.get('D');
            y = y - outMap.get('S') + outMap.get('W');
            System.out.println(x+","+y);
  }
}
全部评论

相关推荐

暴走萝莉莉:这是社招场吧,作为HR说个实话:这个维护关系的意思是要有政府资源,在曾经的工作中通过人脉资源拿下过大订单的意思。这个有相关管理经验,意思也是真的要有同岗位经验。应酬什么的对于业务成交来说就算不乐意也是常态,就是要求说话好听情商高,酒量好。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务