輸入: coins = [1, 2, 5], amount = 11輸出: 3
解釋: 11 = 5 + 5 + 1
輸入: coins = [1, 3, 4], amount = 61.1 題目描述輸出: 3
解釋: 6 = 4 + 1 + 1
1.2 解題思路
輸入: g = [1,2,3], s = [1,1]1.3 解題步驟輸出: 1
解釋:你有三個孩子和兩塊小餅乾,3個孩子的胃口值分別是:1,2,3
雖然你有兩塊小餅乾,由於他們的尺寸都是1,你只能讓胃口值是1的孩子滿足
所以你應該輸出1
function findcontentchildren(g, s)
g.sort(sortfunc);
s.sort(sortfunc);
let i = 0;
s.foreach(n =>
})return i
}
1.4 時間複雜度&空間複雜度2.1 題目描述
2.2 解題思路
輸入: prices = [7,1,5,3,6,4]2.3 解題步驟輸出: 7
解釋:在第 2 天(**** = 1)的時候**,在第 3 天(**** = 5)的時候賣出, 這筆交易所能獲得利潤 = 5-1 = 4
隨後,在第 4 天(**** = 3)的時候**,在第 5 天(**** = 6)的時候賣出, 這筆交易所能獲得利潤 = 6-3 = 3
function maxprofit(prices)
} return profit
}
2.4 時間複雜度&空間複雜度 貪心演算法的設計思想
貪心演算法在解決問題的策略上目光短淺,只根據當前已有的資訊就做出選擇,而且一旦做出了選擇,不管將來有什麼結果,這個選擇都不會改變。換言之,貪心法並不是從整體最優考慮,它所做出的選擇只是在某種意義上的區域性最優。貪心演算法對於大部分的優化問題都能產生最優解,但不能總獲得整體最優解,通常可以獲得近似最優...
貪心演算法思想
貪心演算法思想 顧名思義,貪心演算法總是作出在當前看來最好的選擇。也就是說貪心演算法並不從整體最優考慮,它所作出的選擇只是在某種意義上的區域性最優選擇。當然,希望貪心演算法得到的最終結果也是整體最優的。雖然貪心演算法不能對所有問題都得到整體最優解,但對許多問題它能產生整體最優解。如單源最短路經問題,...
貪心演算法之prim演算法
演算法思想 首先置s 然後只要s是v的真子集,就做如下的貪心選擇 選擇滿足條件i屬於s,j屬於v s,且edge i j 是最小的邊,就將其頂點j新增到s中,這個過程一直進行到s v時為止,在這個過程中,選取到的所有邊恰好構成g的一顆最小生成樹。include define infinity 500...