由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 再出个基础题
相关主题
一个特别的inplace merge two sorted arrays找杨氏矩阵的第k大的数?
哪位大写给说说 何时用 merge sort, 何时用 quick sort, 何时 heap sortShare一下google intern电面问题
算法题:min heap inplace变 BSTMS 电面面经,攒人品
“常数空间O(N),O(1)算法那个题目”的变形题目请问一个sql的问题
发个snapchat面经,挂的好可惜。Amazon onsite面经
一道Google面试题Print out all elements in a sorted matrix
问一个杨氏矩阵的老题一道面试题
杨氏矩阵找medianMS intern电话面试一日悲剧
相关话题的讨论汇总
话题: jmax话题: int话题: imax话题: 矩阵
进入JobHunting版参与讨论
1 (共1页)
w****x
发帖数: 2483
1
怎么inplace调整一个m*n普通矩阵成为一个Young tableau 矩阵?
能做到O(m*n)吗?
f*******4
发帖数: 64
2
如果基于比较的方法可以做到可以O(m*n), 那么对任意m*n个元素排序,只需要对young
进行(m*n)lgm的堆排序。
固定m的取值,相当于总排序时间为O(N)
【在 w****x 的大作中提到】
: 怎么inplace调整一个m*n普通矩阵成为一个Young tableau 矩阵?
: 能做到O(m*n)吗?

p******9
发帖数: 47
3
杨式矩阵长的挺像堆的,不知道能不能把杨式矩阵就看成堆,走一遍buildHeap的过程
l*********8
发帖数: 4642
4
我认为不能固定m的取值。 不然的话,我再固定n的取值,算法就算成O(1)了? 呵呵

young

【在 f*******4 的大作中提到】
: 如果基于比较的方法可以做到可以O(m*n), 那么对任意m*n个元素排序,只需要对young
: 进行(m*n)lgm的堆排序。
: 固定m的取值,相当于总排序时间为O(N)
l*********8
发帖数: 4642
5
考虑一个比杨氏矩阵弱的情况A: 只要求矩阵每行有序,不要求每列也有序。
in-place 调整一个矩阵来满足条件A,可对每一行做quick-sort。
每一行时间是O(n*lgn), 有m行,所以总时间复杂度是O(m*n*lgn).
所以,我认为,对于要求更高的杨氏矩阵,不可能在O(m*n)time in-place调整完成。

【在 w****x 的大作中提到】
: 怎么inplace调整一个m*n普通矩阵成为一个Young tableau 矩阵?
: 能做到O(m*n)吗?

f*******4
发帖数: 64
6
针对N个数来说, N总能拆分成10*(N/10), 这样理解无问题吧?

【在 l*********8 的大作中提到】
: 我认为不能固定m的取值。 不然的话,我再固定n的取值,算法就算成O(1)了? 呵呵
:
: young

l*********8
发帖数: 4642
7
O(N/10) 还是 O(N)啊

【在 f*******4 的大作中提到】
: 针对N个数来说, N总能拆分成10*(N/10), 这样理解无问题吧?
f*******4
发帖数: 64
8
只是行有序,根据决策树计算是O(m*nlgn)
根据决策树比较可以得出杨氏矩阵更难达到
题外,发现求杨氏矩阵的决策树具体表达式,貌似不那么简单?



【在 l*********8 的大作中提到】
: 考虑一个比杨氏矩阵弱的情况A: 只要求矩阵每行有序,不要求每列也有序。
: in-place 调整一个矩阵来满足条件A,可对每一行做quick-sort。
: 每一行时间是O(n*lgn), 有m行,所以总时间复杂度是O(m*n*lgn).
: 所以,我认为,对于要求更高的杨氏矩阵,不可能在O(m*n)time in-place调整完成。

l*********8
发帖数: 4642
9
是的, 我认为,杨氏矩阵不可能在O(m*n)time in-place调整完成。

【在 f*******4 的大作中提到】
: 只是行有序,根据决策树计算是O(m*nlgn)
: 根据决策树比较可以得出杨氏矩阵更难达到
: 题外,发现求杨氏矩阵的决策树具体表达式,貌似不那么简单?
:
: 。

f*******4
发帖数: 64
10
是啊,所以根据O(m*n)的结果,推出来矛盾

【在 l*********8 的大作中提到】
: O(N/10) 还是 O(N)啊
相关主题
一道Google面试题找杨氏矩阵的第k大的数?
问一个杨氏矩阵的老题Share一下google intern电面问题
杨氏矩阵找medianMS 电面面经,攒人品
进入JobHunting版参与讨论
l*********8
发帖数: 4642
11
就算10000也是常量,但m在本题目里面是影响输入规模的变量
另外, 你的N跟n是一个意思吗?

【在 f*******4 的大作中提到】
: 是啊,所以根据O(m*n)的结果,推出来矛盾
f*******4
发帖数: 64
12
大小写有区别
假设m*n可以O(m*n),那m=10的时候,也是成立的吧?
考虑对N个数排序,就可以先构造10 * (N/10)的数组了
_______
上头有点费劲了,直接考虑m=1

【在 l*********8 的大作中提到】
: 就算10000也是常量,但m在本题目里面是影响输入规模的变量
: 另外, 你的N跟n是一个意思吗?

w****x
发帖数: 2483
13
是不行,呵呵
w****x
发帖数: 2483
14
const int M = 5;
const int N = 6;
void siftMaintain(int a[M][N], int i, int j)
{
if (i >= M || j >= N)
return;
while (i >= 0 && j >= 0)
{
int imax = i;
int jmax = j;
if (i-1 >= 0 && a[i-1][j] > a[imax][jmax])
{
imax = i-1;
jmax = j;
}
if (j-1 >= 0 && a[i][j-1] > a[imax][jmax])
{
imax = i;
jmax = j-1;
}
if (imax == i && jmax == j)
break;
swap(a[i][j], a[imax][jmax]);
i = imax;
j = jmax;
}
}
void youngTabulify(int a[M][N])
{
for (int i = 0; i < M; i++)
for (int j = 0; j < N; j++)
siftMaintain(a, i, j);
}
写了一个
Y********f
发帖数: 410
15
求科普,啥是Young tableau矩阵

【在 w****x 的大作中提到】
: 怎么inplace调整一个m*n普通矩阵成为一个Young tableau 矩阵?
: 能做到O(m*n)吗?

1 (共1页)
进入JobHunting版参与讨论
相关主题
MS intern电话面试一日悲剧发个snapchat面经,挂的好可惜。
问一道题一道Google面试题
merge two binary search tree问一个杨氏矩阵的老题
发个onsite面经 攒rp杨氏矩阵找median
一个特别的inplace merge two sorted arrays找杨氏矩阵的第k大的数?
哪位大写给说说 何时用 merge sort, 何时用 quick sort, 何时 heap sortShare一下google intern电面问题
算法题:min heap inplace变 BSTMS 电面面经,攒人品
“常数空间O(N),O(1)算法那个题目”的变形题目请问一个sql的问题
相关话题的讨论汇总
话题: jmax话题: int话题: imax话题: 矩阵