相关疑难解决方法(0)

在阵列中排列0和1

这是我最近的面试问题之一.我想知道其他人对这个问题的看法.

题:

您将获得一个结构,其中包含两个元素(int部门和string名称)的员工详细信息.

struct Employee
{ 
    string Name;
    int Dept;
}
Run Code Online (Sandbox Code Playgroud)

您将获得N员工的详细信息,其中N/2名员工Dept == 0和N/2名员工Dept == 1,按任意顺序排列.您需要根据其Dept值来对员工详细信息进行排序,并且应该是稳定的,即应保持原始记录中的1和0的顺序.

例如,给出以下示例数据:

Name         Dept

X1           0
X2           1
X3           0
X4           1
X5           0

排序后的结果应该是:

Name         Dept

X2           1
X4           1
X1           0
X3           0
X5           0

算法应该是稳定的,时间复杂度应该是O(N),其他变量具有恒定的空间(这意味着应该就地进行排序).

language-agnostic algorithm

15
推荐指数
3
解决办法
1万
查看次数

标签 统计

algorithm ×1

language-agnostic ×1