給定n個人的出生年份和死亡年份,第i個人的出生年份為birth[i],死亡年份為death[i],實現乙個方法以計算生存人數最多的年份。
你可以假設所有人都出生於2023年至2023年(含1900和2000)之間。如果乙個人在某一年的任意時期都處於生存狀態,那麼他們應該被納入那一年的統計中。例如,生於2023年、死於2023年的人應當被列入2023年和2023年的計數。
如果有多個年份生存人數相同且均為最大值,輸出其中最小的年份。
示例:0 < birth.length == death.length <= 10000
birth[i] <= death[i]
int
maxaliveyear
(int
* birth,
int birthsize,
int* death,
int deathsize)
;//1900-2000是101年
int i,j,tmp=0;
for(i=
0;i)for
(j=birth[i]
;j<=death[i]
;j++
) year[j-
1900]++
;for
(i=1
;i<
101;i++)if
(year[tmp]
) tmp=i;
return tmp+
1900
;}
還有時間複雜度為n的,讓我自己想是絕對想不出來的,**如下:
int
maxaliveyear
(int
* birth,
int birthsize,
int* death,
int deathsize)
;//多了乙個是因為後續判斷有乙個加一
int i,j,tmp=
0,max=0;
for(i=
0;i)for
(i=0
;i<
101;i++)}
return j+
1900
;}
面試題 16 10 生存人數
給定n個人的出生年份和死亡年份,第i個人的出生年份為birth i 死亡年份為death i 實現乙個方法以計算生存人數最多的年份。你可以假設所有人都出生於1900年至2000年 含1900和2000 之間。如果乙個人在某一年的任意時期都處於生存狀態,那麼他們應該被納入那一年的統計中。例如,生於19...
力扣 面試16 10 生存人數
給定n個人的出生年份和死亡年份,第i個人的出生年份為birth i 死亡年份為death i 實現乙個方法以計算生存人數最多的年份。你可以假設所有人都出生於1900年至2000年 含1900和2000 之間。如果乙個人在某一年的任意時期都處於生存狀態,那麼他們應該被納入那一年的統計中。例如,生於19...
C語言面試題
基礎篇 1 區域性變數能否和全域性變數重名?可以2 如何引用乙個已經定義過的全域性變數?直接呼叫並初始化 3 全域性變數可不可以定義在可被多個.c檔案包含的標頭檔案中?為什麼?可以,6 堆和棧有什麼區別?7 什麼是預編譯,何時需要預編譯 8 c和c 中的struct有什麼不同?9 memset me...