字节跳动 编程题1 推箱子 dfs
字节跳动 编程题1 推箱子 bfs题目描述有一个推箱子的游戏, 一开始的情况如下图:上图中, '.' 表示可到达的位置, '#' 表示不可到达的位置,其中 S 表示你起始的位置, 0表示初始箱子的位置, E表示预期箱子的位置,你可以走到箱子的上下左右任意一侧, 将箱子向另一侧推动。注意不能将箱子推动到'#'上, 也不能将箱子推出边界;现在, 给你游戏的初始样子, 你需要输出最少几步能够完成游...
字节跳动 编程题1 推箱子 bfs题目描述有一个推箱子的游戏, 一开始的情况如下图:上图中, '.' 表示可到达的位置, '#' 表示不可到达的位置,其中 S 表示你起始的位置, 0表示初始箱子的位置, E表示预期箱子的位置,你可以走到箱子的上下左右任意一侧, 将箱子向另一侧推动。注意不能将箱子推动到'#'上, 也不能将箱子推出边界;现在, 给你游戏的初始样子, 你需要输出最少几步能够完成游...
拼多多 迷宫寻路 dfs题目描述假设一个探险家被困在了地底的迷宫之中,要从当前位置开始找到一条通往迷宫出口的路径。迷宫可以用一个二维矩阵组成,有的部分是墙,有的部分是路。迷宫之中有的路上还有门,每扇门都在迷宫的某个地方有与之匹配的钥匙,只有先拿到钥匙才能打开门。请设计一个算法,帮助探险家找到脱困的最短路径。如前所述,迷宫是通过一个二维矩阵表示的,每个元素的值的含义如下 0-墙,1-路,2-探...
牛客网 火车出站 dfs+模拟+栈题目链接dfs实现全排列,再用模拟的方法,判断每种情况是否能符合出栈顺序。因为没注意输入的值不一样,输出按照字典序,自己在坑里转了好久。顺带一题,好像不用去重,也就是说,或许数据存在编号相同的火车,但是实际上不一样。#include <iostream> #include <algorithm> #include <stack&...
无重复元素的数组和目标数 dfs朋友分享的一道面试题#include <iostream> #include <algorithm> #include <set> using namespace std; const int maxn = 105; int arr[maxn]; int target; int cnt; int n; int pos; m...
求最长公共子序列的子序列 dfs+dp朋友分享的一道面试题要求删除掉任意长度的字符串s1之后,获得的最长的回文串都有哪些?因为回文串的性质,反转后不变,那么可以将字符串s1反转成s2。如果存在一个最长的回文串,那么肯定是s1和s2的最长公共子序列。通常我们会求出最长公共子序列的长度alen,这次要把所有的子序列输出来。可以通过观察dp矩阵,发现这样一个规律(图忘记从哪里盗来的了)可以通过标有...