給出一個整數,從該整數中去掉k個數字,要求剩下的數字形成的新整數盡可能小。應該如何選取被去掉的數字? 其中,整數的長度大於或等於k,給出的整數的大小可以超過long類型的數字范圍。 思路: 把原整數的所有數字從左到右進行比較,如果發現某一位數字大於它右面 ...
先貼問題: 個n位正整數a,刪去其中的k位,得到一個新的正整數b,設計一個貪心算法,對給定的a和k得到最小的b 一.我的想法:先看例子:a 去掉 位,則位數n ,k ,要求的最小數字b是n k 位的 先找最高位的數,因為是 位數字,所以最高位不可能在后 位上取到 因為數字的相對順序是不能改變的,假設如果取了后五位中倒數第 位的 ,則所求的b就不可能是 位的了,最多也就是 位的 理解這點很重要 所以 ...
2016-12-16 21:16 0 1964 推薦指數:
給出一個整數,從該整數中去掉k個數字,要求剩下的數字形成的新整數盡可能小。應該如何選取被去掉的數字? 其中,整數的長度大於或等於k,給出的整數的大小可以超過long類型的數字范圍。 思路: 把原整數的所有數字從左到右進行比較,如果發現某一位數字大於它右面 ...
1. 寫在前面 在之前的5篇博客中,我們學習了動態規划算法。我們可以看到,在求解最優化問題的算法中,通常需要經過一系列的步驟,在每個步驟中都面臨多種選擇。對於許多最優化問題,使用動態規划算法來求解最優解有些殺雞用牛了,可以使用更加簡單的算法。貪心算法(greedy algorithm ...
1. 算法描述 適用於最優化問題的算法往往包含一系列步驟,每一步都有一組選擇,對許多最優化問題來說,采用動態規划方法來決定最佳選擇有點繁瑣了,只要采用另一些更簡單有效的算法就行了。貪心算法是使所做的選擇看起來都是當前最佳的,期望通過所做的局部最優選擇來產生衣蛾全局最優解。 貪心算法 ...
轉載請注明出處:http://www.cnblogs.com/StartoverX/p/4611544.html 貪心算法在每一步都做出當時看起來最佳的選擇。也就是說,它總是做出局部最優的選擇,寄希望(證明)這樣的選擇能夠導致全局最優解。 貪心算法和動態規划都依賴於最優子結構,也就 ...
1. 寫在前面 在上一篇博客中,我們通過選擇問題了解了貪心算法。這一篇博客將繼續介紹貪心算法,主要談談貪心算法的原理,並簡單分析一下背包問題。 2. 貪心算法原理 通過上一篇博客中的選擇問題,我們看到,貪心算法可以由如下幾個步驟來實現: 確定問題的最優子結構; 設計一個遞歸算法 ...
貪心算法大學的時候就已經學過也弄過,可能周末確實沒想到寫什么,就順手學了當年學習的知識,貪心算法(也稱為貪婪算法),貪心算法總是作出在當前看來最好的選擇。貪心算法並不從整體最優考慮,它所作出的選擇只是在某種意義上的局部最優選擇。當然,希望貪心算法得到的最終結果也是整體最優的。雖然貪心算法不能對所有 ...
貪心算法 貪心算法通過一系列的選擇來得到問題的解。它所做的每一個選擇都是當前狀態下局部的最好選擇,即貪心選擇。貪心選擇的一般特征:貪心選擇性質和最優子結構性質。 貪心選擇性質: 所謂貪心選擇性質是指所求問題的整體最優解可以通過一系列局部最優的選擇,即貪心選擇來達到。這是貪心算法可行的第一個 ...
1、題目:給定一個字符串,輸出所有的字典序。 如: 輸入字符串:'ac',輸出:['ac','ca'] 輸入字符串:‘abc' ,輸出:['abc','acb','bac','bca','cab ...