首先根據題目描述很容易求出原始陣列,我們只需將原陣列中的第一位暫時設定為0即可根據兩個陣列之間的關係求出原陣列。求出原陣列之後,最重要的一點就是去判斷該陣列是否為優美陣列。優美陣列(題目定義):該陣列恰好包含從1~n(陣列長度)的數字,不多不少。
我的思路是將原陣列排序,對比a[i+1]與a[i]之間的差是否都為1,如果都為1的話,即滿足優美陣列定義,否則不滿足。知其為優美陣列之後,只需將陣列中的每一項都加1-a[0]即可將數字全部還原為1~n。
其實就是推導函式:輸入為n的話,輸出的行數為2*n+1。從零還是遍歷每一行,記該行為i行,則第i行輸出的空格數為|2(i-n)|。星星的個數自己寫乙個變數記錄就行,當i<=n時每次加一輸出,當i>n時每次減一輸出即可。
很經典的貪心問題,和安排電影院那個題目一模一樣。每次去尋找右端點最靠前的即可,然後再去判斷是否和前邊的線段有衝突,有衝突繼續向後遍歷,無衝突res+1,再繼續向後遍歷。
經典bfs,用dfs行不通,會超時。用結構體去儲存每個已經遍歷過的點的位置和步長,使用bfs跑一遍即可。
巴什博弈問題,與取石子有異曲同工之妙。當n=m,先手只要出價在[m,n]這個區間之內就必勝,輸出這些數即可。
其實可以把圓的左右兩個端點存下來就行,然後對左端點進行排序。如果我要求第i個圓與多少個圓沒有交集,那麼只需向後遍歷到第乙個出現與它沒有交集的圓,之後的圓都與他沒交集。但是這樣的演算法時間複雜度為o(n^2),直接暴力會超時。用二分優化一下尋找第乙個與它無交集圓的過程即可。
貪心問題,主要是對最優解的構造。想一下一串數字如果去除乙個數怎麼讓他最小。這一串數字的構成我們可以分成一下這幾種情況:
1、單調遞增:這種情況直接刪除最後乙個數字即可
2、單調遞減:刪除第乙個數字
3、先增後減:刪除向減少方向轉折的那個數(即第乙個極大值點)
4、先減後增:刪除第乙個數字
其實上邊這四種情況我們可以做乙個整合,就是每次去尋找這串數字的第乙個極大值點即可,然後刪除,這裡的刪除可以是乙個邏輯的刪除比如做乙個記號記它為乙個符號(eq: char ch = 『0』-1)。了解了刪除乙個數最小,那麼刪除n個數就是一樣的道理,不過要進行n次遍歷即可(當然直接遍歷n次估計也會超時,我就提示到這裡,剩下的你們自己想想)。
遊戲工作室防封3部曲
現在很多手遊工作室都知道防封,不知道裝置被封印和賬戶被封印的區別。這時候,工作室必須學會判斷被封的真正原因,才能找到解決方案。但是,一般來說,封號主要有三個原因。首先,如果是封裝置,你更換更多的ip和賬號是沒有用的。此時,可以使用其他裝置進行測試。一旦您可以登入,這是因為裝置被封存。第二,如果是因為...
Weego工作室簡介
weego工作室 是由學校與北京蘋果派公司 現在又有濟南分公司 合作支援的乙個團隊,目光聚焦最有發展前景的移動網際網路領域。在各大公司都進軍移動網際網路領域的時候,我們學生該去學習什麼不言而喻!在我們weego工作室這裡你能提前接觸到公司的管理與實戰的專案。weego工作室 現在在山東大學軟體園校區...
工作室成立了
經過幾天的籌備,我們的工作室終於成立了 創e工作室,雖然成立的過程比較漫長,包括開會,談心,起名字.但終究是成立了,而且方向也是我所嚮往的 開發,難得土應沒反對,大概那邊又可以緩一下 感覺大概也不想太快創業 總算如人意,雖然期間有些小的插曲,象小葉覺得人太多不想參加,老大又搬出去住,我和土應還要應付...