先貼問題: 1個n位正整數a,刪去其中的k位,得到一個新的正整數b,設計一個貪心算法,對給定的a和k得到最小的b; 一.我的想法:先看例子:a=5476579228;去掉4位,則位數n=10,k=4,要求的最小數字b是n-k=6位的; 1、先找最高位的數,因為是6位數字,所以最高位不可能 ...
給出一個整數,從該整數中去掉k個數字,要求剩下的數字形成的新整數盡可能小。應該如何選取被去掉的數字 其中,整數的長度大於或等於k,給出的整數的大小可以超過long類型的數字范圍。 思路: 把原整數的所有數字從左到右進行比較,如果發現某一位數字大於它右面的數字,那么在刪除該數字之后,必然會使該數位的值降低。這種求 局部最優解,最終得到全局最優解的思想,叫作 貪心算法 。 如果要刪除k個數字,那么將 ...
2019-09-13 18:49 0 354 推薦指數:
先貼問題: 1個n位正整數a,刪去其中的k位,得到一個新的正整數b,設計一個貪心算法,對給定的a和k得到最小的b; 一.我的想法:先看例子:a=5476579228;去掉4位,則位數n=10,k=4,要求的最小數字b是n-k=6位的; 1、先找最高位的數,因為是6位數字,所以最高位不可能 ...
算法描述 在給定的n位數字,刪除其中的k位數字( k < n),使得最后的n-k為數字為最大值(原次序不變) 算法思路 考慮到是要移出數字,我們使用鏈表設計此算法較為方便,鏈表可以直接移出某個位置的元素 使用貪心算法,每一步都要達到最優 從最高 ...
目標 在連通網的所有生成樹中,找到所有邊的代價和最小的生成樹,簡稱最小生成樹問題. (簡要的來說,就是在AOV網中找出串聯n個頂點代價總和最小的邊集) 下面記錄最小生成樹的兩種算法,Prim和Kruskal Prim算法思路 從任意一個頂點開始,每次選擇與當前頂點最近的一個頂點,並將 ...
算法復雜度0(n) 結果: [5, 3, 2, 8][5, 3, 8] ...
1.最小延遲調度問題描述 f(i) 表示某任務 開始的時間。 ti 表示 某任務 加工的時間 di 表示 某任務 要求完成的時間 延遲: f(i)+ti-di 如果 實際完成的時間 小於 規定完成時間,那么,就沒有 延遲。延遲就是拖延,如果你在規定時間內(<=規定 ...
在一個有權連通圖(網絡)中,生成樹的各邊權值之和稱為生成樹的代價。在網絡的所有生成樹中,權值最小的那顆生成樹稱為最小代價生成樹(Minimum Cost Spanning Tree),簡稱為最小生成樹Minimum Spanning Tree)。討論問題就是如何尋找一顆各邊權的總和最小 ...
貪心算法大學的時候就已經學過也弄過,可能周末確實沒想到寫什么,就順手學了當年學習的知識,貪心算法(也稱為貪婪算法),貪心算法總是作出在當前看來最好的選擇。貪心算法並不從整體最優考慮,它所作出的選擇只是在某種意義上的局部最優選擇。當然,希望貪心算法得到的最終結果也是整體最優的。雖然貪心算法不能對所有 ...