演算法 面試題2萬多名員工按年齡排序

2021-07-28 15:26:19 字數 713 閱讀 5210

2萬多名員工按年齡排序演算法,

演算法思想是選擇排序演算法的思想,同時考慮到2萬多員工,在某個年齡取值時會有多位員工的實際情況。

思路 第一遍搜尋找出,最小年齡為m個minage, 最大年齡為n個maxage,這樣得到年齡的取值區間[minage, maxage]; 第二遍,搜尋步進1,全部找出後,放到m個minage後,依次。。。

c#**實現,

人員模型為,

public

class person

//工號

public

int staffno

//年齡

public

int age

}

步進為1的排序搜尋演算法:

static void sort()

minagepersons.addrange(maxagepersons);

list = minagepersons;

}static

list

getagepersons(int age)

人員年齡不一定步進為1,所以改進sort()之,

static void sort()

while (list.count > 0);

list = minagepersons;

}

2023年力扣高頻演算法面試題9樹

給定乙個二叉搜尋樹,編寫乙個函式 kthsmallest 來查詢其中第 k個最小的元素。假設 k 總是有效的,1 k 二叉搜尋樹元素個數。高階 如果二叉搜尋樹經常被修改 插入 刪除操作 並且你需要頻繁地查詢第 k 小的值,你將如何優化 kthsmallest 函式?解題思路 利用find記錄是否找到...

2023年力扣高頻演算法面試題4動態規劃

給定長度為 n 的整數陣列 nums,其中 n 1,返回輸出陣列 output 其中 output i 等於 nums 中除 nums i 之外其餘各元素的乘積。說明 請不要使用除法,且在 o n 時間複雜度內完成此題。分析 對於某乙個數字,如果我們知道其前面所有數字的乘積,同時也知道後面所有的數乘...

2023年力扣高頻演算法面試題6鍊錶

之前在csdn寫過一篇 鍊錶與快慢指標 的筆記 判斷鍊錶是否有環 找到環的入口 反轉鍊錶 請編寫乙個函式,使其可以刪除某個鍊錶中給定的 非末尾 節點,你將只被給定要求被刪除的節點。分析 之前有同學去哈深面試也問過類似的問題。沒有給我們鍊錶的起點,只給我們了乙個要刪的節點,跟我們以前遇到的情況不太一樣...