某一天,在微軟亞洲研究院有n個面試要進行,它們的時間分別為(b[i], e[i])(b[i]為面試開始時間,e[i]為面試結束時間)。假設乙個面試者一天只參加乙個面試。為了給面試者提供乙個安靜便於發揮的環境,我們希望將這n個面試安排在若干個面試點。不同的面試在同乙個時間不能被安排在同乙個面試點。如果你是微軟亞洲研究院的hr,現在給定這n個面試的時間之後,你能計算出至少需要多少個面試點嗎?
程式設計之美給的解答如下:
int nmaxcolors=0,i,k,j;
for(i=0;ib[i],e[i]))
isforbidden[color[j]]=true;
for(k=0;k
break; //這裡的意思是如果這個面試和前面每乙個面試都衝突的話,跳出迴圈,從而使k=nmaxcolors,這樣顏色數加一
if(k
color[i]=k;
else
color[i]=nmaxcolor++;
} cout<
第二種解法需要注意的地方是:
if(ncolorusing>maxcolor)
maxcolor =ncolorusing; //這裡的意思是得到整個遍歷過程中最大達ncolorusing值便是需要的顏色值
程式設計之美 高效率地安排見面會 貪心策略
每乙個面試是乙個整數的閉區間 bi,ei 表示開始時間和結束時間,有n個面試要進行,求最少的面試點。思路 按開始時間排序,使用貪心策略,每乙個面試使用乙個最小的正整數k來表示可行的顏色,當然如果重疊了就必須使用乙個新的顏色。c 實現 include include include using nam...
今天去參加蔡依林的見面會
今天去參加蔡依林的見面會.我真正覺得好聽或認真聽過的蔡依林的歌是 布拉格廣場 覺得旋律相當不錯,mtv也很絢麗.今天見到她,雖然遠遠的,我也遠不如那些近處的歌迷狂熱 那分明還是個孩子,我看到她慎重的選擇字眼,無奈的接受商業的宣傳.我想,我終於見識到了商業宣傳是怎樣運作的.舞台上的她在燈光下真的像乙個...
高效率的使用VIM
雖然從很久前就開始用 vim 了,但一直都是半調吊子,翻來覆去只用自己會的命令。最近為了提高書寫 的效率,還有 coding 時候的樂趣,又重新鑽研了一下 vim,發現了一篇很好的 vim 入門的文章,原文是英文版的,我覺得非常適合 vim 使用入門,所以翻譯了過來。這裡是簡單的介紹了 vim 的操...