由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一道面经题
相关主题
找2个sorted array中的第K小的元素,有O(lgn)方法吗?select k to maximize the minimum
问一道qualtric面经题fb一题求解答
问个题,bt中找最大的bst问个关于二分图的算法
问个snapchat的面经题 二分检索的有人整理过FB的面试题么
这道twitter 互质数面经题怎么做?发篇面经
问一个题目问个小算法
分享面经 mathworks有重复元素的全排列,递归算法
字典里面如何快速找到一个单词对应的只有一个字母不同的单词攒人品,回答问题
相关话题的讨论汇总
话题: opt1话题: result话题: min话题: sequence话题: matrix
进入JobHunting版参与讨论
1 (共1页)
l*******t
发帖数: 79
1
(3) 一个 2 *4 的数组不重复包含1-8这些整数,有3种操作
a) 上下两个row交换.
b) 所有元素向右shift一个位置
c) 中间4个元素,顺时针旋转90度
现在随便给一个这样的数组,最小复员到1234,5678的步骤。
在一亩三分地上看到的,求指点...
b******b
发帖数: 713
2
i will try the brute force way first:
1. create a hashmap, whose key is the sequence of the matrix, e.g. if the
array is: row0[1,2,3,4], row1[5,6,7,8], then key is [1,2,3,4,5,6,7,8], value
is the min step to revert it back to [1,2,3,4,5,6,7,8], put in [1,2,3,4,5,6
,7,8], 0 into the map.
2. write a recursive method,
int min(matrix)
{
if (map.contains(matrix.sequence)) return map.get(...);
opt1 = matrix.copy().swaprow();
int result = Integer.maxValue;;
if (!map.contains(op1))
{
map.put(opt1, min(opt1));
}
result = Math.min(result, 1 + map.get(opt1));

//do the same for rotate 90d, etc.
//forget you also need a visited set so if you see the sequence you
already tried, you can return immediately
}

【在 l*******t 的大作中提到】
: (3) 一个 2 *4 的数组不重复包含1-8这些整数,有3种操作
: a) 上下两个row交换.
: b) 所有元素向右shift一个位置
: c) 中间4个元素,顺时针旋转90度
: 现在随便给一个这样的数组,最小复员到1234,5678的步骤。
: 在一亩三分地上看到的,求指点...

s***c
发帖数: 639
3
从输入数组开始,recursive在3种操作上一个个的试,直到出现12345678为止。
记录出现过的,防止死环

【在 l*******t 的大作中提到】
: (3) 一个 2 *4 的数组不重复包含1-8这些整数,有3种操作
: a) 上下两个row交换.
: b) 所有元素向右shift一个位置
: c) 中间4个元素,顺时针旋转90度
: 现在随便给一个这样的数组,最小复员到1234,5678的步骤。
: 在一亩三分地上看到的,求指点...

x*******9
发帖数: 138
4
BFS
l*******t
发帖数: 79
5

value
,6

【在 b******b 的大作中提到】
: i will try the brute force way first:
: 1. create a hashmap, whose key is the sequence of the matrix, e.g. if the
: array is: row0[1,2,3,4], row1[5,6,7,8], then key is [1,2,3,4,5,6,7,8], value
: is the min step to revert it back to [1,2,3,4,5,6,7,8], put in [1,2,3,4,5,6
: ,7,8], 0 into the map.
: 2. write a recursive method,
: int min(matrix)
: {
: if (map.contains(matrix.sequence)) return map.get(...);
: opt1 = matrix.copy().swaprow();

l*******t
发帖数: 79
6
thanks!

【在 s***c 的大作中提到】
: 从输入数组开始,recursive在3种操作上一个个的试,直到出现12345678为止。
: 记录出现过的,防止死环

1 (共1页)
进入JobHunting版参与讨论
相关主题
攒人品,回答问题这道twitter 互质数面经题怎么做?
rejected by facebook after 2nd phone interview问一个题目
讨论一题,去除有序数组的重复元素分享面经 mathworks
讨论下面试题的难度分布?字典里面如何快速找到一个单词对应的只有一个字母不同的单词
找2个sorted array中的第K小的元素,有O(lgn)方法吗?select k to maximize the minimum
问一道qualtric面经题fb一题求解答
问个题,bt中找最大的bst问个关于二分图的算法
问个snapchat的面经题 二分检索的有人整理过FB的面试题么
相关话题的讨论汇总
话题: opt1话题: result话题: min话题: sequence话题: matrix