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