您当前的位置: 首页 >  leetcode

星许辰

暂无认证

  • 3浏览

    0关注

    466博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

LeetCode_BFS_困难_773. 滑动谜题

星许辰 发布时间:2022-05-12 10:29:36 ,浏览量:3

目录
  • 1.题目
  • 2.思路
  • 3.代码实现(Java)

1.题目

在一个 2 x 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示。一次移动定义为选择 0 与一个相邻的数字(上下左右)进行交换。

最终当板 board 的结果是 [[1,2,3],[4,5,0]] 谜板被解开。

给出一个谜板的初始状态 board ,返回最少可以通过多少次移动解开谜板,如果不能解开谜板,则返回 -1 。

示例 1: 在这里插入图片描述 输入:board = [[1,2,3],[4,0,5]] 输出:1 解释:交换 0 和 5,1 步完成

示例 2: 在这里插入图片描述 输入:board = [[1,2,3],[5,4,0]] 输出:-1 解释:没有办法完成谜板

示例 3: 在这里插入图片描述 输入:board = [[4,1,2],[5,0,3]] 输出:5 解释: 最少完成谜板的最少移动次数是 5 , 一种移动路径: 尚未移动: [[4,1,2],[5,0,3]] 移动 1 次: [[4,1,2],[0,5,3]] 移动 2 次: [[0,1,2],[4,5,3]] 移动 3 次: [[1,0,2],[4,5,3]] 移动 4 次: [[1,2,0],[4,5,3]] 移动 5 次: [[1,2,3],[4,5,0]]

提示: board.length == 2 board[i].length == 3 0

关注
打赏
1665627467
查看更多评论
立即登录/注册

微信扫码登录

0.0378s