记阿里笔试2020.3.23惨痛经历

一共两个题。笔试时先通读了两个题的题目。因为第二题有思路觉得简单就先写的第二题。结果20分钟写完代码,挑了30分钟bug,都没搞出来,最后坑在±号上。
根据记忆上题目:给你一个迷宫,包括一个起点‘S’和一个终点‘E’,‘#’表示障碍,不可到达的位置,‘.'表示可以到达的位置,另外你可以跳跃,跳跃的规则是从一个点跳到他中心对称的那个点上,最多跳跃5次,求从起点到达终点的最短路径长度。我清楚的记得,题目中描述的中心对称的含义是:点A(x,y) 中心对称的格子B(x1,y1) 满足x+x1=n+1且y+y1=m+1这个关系。
那不应该是x1=n+1-x且y1=m+1-y才符合题意吗。所以我的代码中就是这么做的。然而笔试后去牛客上逛了别人的思路,才知道,后面给的样例中他们的关系是x1=n-1-x;y1=m-1-y!竟然是减!
在这里插入图片描述
在笔试时,我用的dfs写的,如果我把加减号改过来,即使是思路对,也有可能超时,这是我dfs的代码:

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

/**
 * Created by fangjiejie on 2020/3/23.
 */
public class Title2 {
    public static int n;
    public static int m;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值