1138. 字母板上的路径


曼哈顿距离

class Solution {
    public String alphabetBoardPath(String target) {
        int x = 0, y = 0, nx = 0, ny = 0;
        StringBuffer ans = new StringBuffer("");
        for (int i = 0; i < target.length(); i++) {
            int temp = target.charAt(i) - 'a' ;
            if (i > 0 && target.charAt(i) == target.charAt(i - 1)) {
                ans.append("!");
            } else {
                nx = temp / 5;
                ny = temp % 5;
                if (ny < y) {
                    for (int z = 0; z < y - ny; z++)
                        ans.append("L");
                }
                if (nx < x) {
                    for (int z = 0; z < x - nx; z++)
                        ans.append("U");
                }
                if (nx > x) {
                    for (int z = 0; z < nx - x; z++)
                        ans.append("D");
                }
                if (ny > y) {
                    for (int z = 0; z < ny - y; z++)
                        ans.append("R");
                }

                ans.append("!");
                x = nx;
                y = ny;

            }
        }
        return ans.toString();
    }
}
全部评论

相关推荐

11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务