dfs之n個數選k個和為s

2021-10-04 11:30:13 字數 647 閱讀 2124

題目是從n個數中選取k個數使得和為s,求出方案個數。

不同的思路會對應不同的搜尋方法,相應的搜尋樹也不同。

我們先來研究從1~30裡面選擇8個數,和為200的情況,其他類似。

1.從30個數中選8個數,那麼這8個數可以按照從大到小的順序排列,例如1,6,9,...或者3,9,10....。選第乙個數的時候可以是1~23;第二個數就從第乙個數的後面那些數中選,然後以此類推。這樣不會漏掉哪乙個組合。

搜尋樹:

演算法 生成和為S的N個正整數

白話經典演算法系列之十三 隨機生成和為s的n個正整數 投影法 隨機生成和為s的n個正整數有很多種解法。下面講解一種比較高效且比較有趣味性的解法 投影法。以生成和為20的4個數為例,可以先生成隨機生成0到20之間的三個數字再排序,假設得到了4,7,18。然後在x y數軸上畫出這三個數,如下圖 然後將這...

7 給定n個序列,求相鄰的k個數之和為最大

1 問題描述 給定 n個數,求相鄰的 k個數之和為最大。要求給出複雜度較小的一種演算法 再解決這個問題前,先了解一下類似的常見問題。2 給定一串數字 可正可負的 int,放在陣列 num裡 要求找到起始位置 start 和終止位置 end,使得從 start 位置到end 位置的所有數字之和最大,返...

隨機生成和為S的N個正整數 投影法

分類 白話經典演算法系列 windows程式設計 2013 01 04 13 46 2459人閱讀收藏 舉報白話經典演算法 和為s的n個正整數 投影法隨機三趣題 白話經典演算法系列之十三 隨機生成和為s的n個正整數 投影法 隨機生成和為s的n個正整數有很多種解法。下面講解一種比較高效且比較有趣味性的...