由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - Counting sort问题
相关主题
变形面试问题请教2个 huge file的面试题
You have 100 files, each containing 10G sorted integers. 求解?一道老题目
一个小公司面经请教一道题目
有A[i]一个算法题:Selecting median of three sorted arrays
问一道老题一道google题
问一道F家的考古题请教一个问题的答案,好像以前有人讨论过
Google电话面试题目贡献两个Amazon的电话面试题
[合集] Google电话面试题目Amazon(2)
相关话题的讨论汇总
话题: do话题: 输出话题: contains话题: elements话题: number
进入JobHunting版参与讨论
1 (共1页)
l**h
发帖数: 893
1
为什么需要里面的B到D的步骤?
既然是整数,直接根据c[i]里面的值,输出就好了,比如c[0]是2,那么就输出2个0.
c[1]是3,再输出3个1...
B到D是为了保证所谓排序的稳定性?
for i ← 1 to k do
c[i] ← 0
for j ← 1 to n do
c[A[j]] ← c[A[j]] + 1 //A
//c[i] now contains the number of elements equal to i
for i ← 2 to k do
c[i] ← c[i] + c[i-1] // B
// c[i] now contains the number of elements ≤ i
for j ← n downto 1 do
B[c[A[i]]] ← A[j] // C
c[A[i]] ← c[A[j]] - 1 // D
j*****y
发帖数: 1071
2
这个是可以,可是不 stable

【在 l**h 的大作中提到】
: 为什么需要里面的B到D的步骤?
: 既然是整数,直接根据c[i]里面的值,输出就好了,比如c[0]是2,那么就输出2个0.
: c[1]是3,再输出3个1...
: B到D是为了保证所谓排序的稳定性?
: for i ← 1 to k do
: c[i] ← 0
: for j ← 1 to n do
: c[A[j]] ← c[A[j]] + 1 //A
: //c[i] now contains the number of elements equal to i
: for i ← 2 to k do

1 (共1页)
进入JobHunting版参与讨论
相关主题
Amazon(2)问一道老题
amazon 电面题问一道F家的考古题
问题Google电话面试题目
请教一道题[合集] Google电话面试题目
变形面试问题请教2个 huge file的面试题
You have 100 files, each containing 10G sorted integers. 求解?一道老题目
一个小公司面经请教一道题目
有A[i]一个算法题:Selecting median of three sorted arrays
相关话题的讨论汇总
话题: do话题: 输出话题: contains话题: elements话题: number