演算法分糖果
1. 幼兒園老師給小朋友分糖果。若每人分8塊,還剩10塊;若每人分9塊,最後一人分不到9塊,但至少可分到一塊。
8x+10=y y-9x大於等於1 1式子中枝念x=(y-10)/8 帶檔搭沖入第二個式子 就可以得出 y小於等於82 故糖行殲果最多是82塊、
2. 經典演算法題:分發糖果
n 個孩子站成一排。給你一個整數數組 ratings 表示每個孩子的評虧跡分銷蘆並。
你需要按照以下要求,給這些孩子分發糖果:
每個孩子至少分配到 1 個糖果。
相鄰兩個孩嘩物子評分更高的孩子會獲得更多的糖果。
請你給每個孩子分發糖果,計算並返回需要准備的 最少糖果數目 。
示例 1:
輸入:ratings = [1,0,2]
輸出:5
解釋:你可以分別給第一個、第二個、第三個孩子分發 2、1、2 顆糖果。
示例 2:
輸入:ratings = [1,2,2]
輸出:4
解釋:你可以分別給第一個、第二個、第三個孩子分發 1、2、1 顆糖果。
第三個孩子只得到 1 顆糖果,這滿足題面中的兩個條件。
提示:
n == ratings.length
1 <= n <= 2 * 104
0 <= ratings[i] <= 2 * 104
3. 一位老師給同學分糖果如果分四粒就多十九粒如果分五粒就多1粒請問一共有多少
一共有91粒。這屬於雞兔同籠問題,把兩種分法剩橡盯余粒數進行比較,19-1=18。為什麼會有這種差別呢?因為有四粒和五粒的差別,即5-4=1。由此可以算出人數18÷1=18人。根據人數可以鋒如缺算出粒數銀辯:18×4+19=91或者18×5+1=91。
4. 15顆糖,平均分,每份至少2顆糖,有幾種演算法
第一種演算法,15/2=7+1.也就是冊陪6份2顆糖,1份3顆糖。
第二種州猜蠢演算法,15/3=5.也就是5份3顆糖。
第三種,15/4=3+3.
第四種,兆畝15/5=3.
第五種,15/6=2+3
5. 小朋友分糖,每人9塊少25塊,每人6塊少7塊,問幾個小孩幾塊糖 在線等待
我想請問樓上的各位回答7個孩子的 再看看你們的答案 7個孩子,有48塊糖符合每人6塊少7塊 嗎?????????????? 每人9塊和每人6塊的分法每人相差3塊,總數相差25-7=18塊,所以包含除法18/3=6人,6*9-25=29塊糖 回答者:東馬學校 - 助理 二級 6-29 09:03 ...回答最妙
6. 貪心演算法及其應用
求解一個問題時有多個步驟,每個步驟都選擇當下最優的那個解,而不用考慮整體的最優解。通常,當我們面對的問題擁有以下特點的時候,就可以考慮使用貪心演算法。
比如,我們舉個例子,倉庫裡面總共有五種豆子,其對應的重量和總價值如下,現在我們有一個可以裝100KG重量的袋子,怎麼裝才能使得袋子中的豆子價值最大?
我們首先看看這個問題是否符合貪心演算法的使用場景?限制值是袋子100KG,期望值是袋子裡面的價值最高。所以是符合的。那麼我們嘗試著應用下貪心演算法的方法,每一個步驟都尋找當下的最優解,怎麼做呢?
把倉庫裡面的每種豆子價值除以重量,得出每種豆子的單價,那麼當下的最優解,肯定是盡可能最多地裝單價最貴的,也就是先把20KG的黃豆都裝上,然後再把30KG的綠豆都裝上,再裝50KG的紅豆,那麼此時正好裝滿袋子,總價值將是270元,這就是通過貪心演算法求解的答案。
貪心演算法的應用在這個問題上的求解是否是最優解需要一個很復雜的數學論證,我們不用那樣,只要心裡舉幾個例子,驗證下是否比它更好即可,如果舉不出例子,那麼就可以認為這就是最優解了。
雖然貪心演算法雖然在大部分實踐場景中都能得到最優解,但是並不能保證一定是最優解。比如在如下的有向帶權圖中尋找從S到T的最短路徑,那麼答案肯定就是S->A->E->T,總代價為1+4+4=9;
然而,實際上的最短路徑是S->B->D->T,總代價為6。
所以,不能所有這類問題都迷信貪心演算法的求解,但其作為一種演算法指導思想,還是很值得學習的。
除了以上袋子裝豆子的問題之外,還有很多應用場景。這種問題能否使用貪心演算法來解決的關鍵是你能否將問題轉換為貪心演算法適用的問題,即找到問題的限制值和期望值。
我們有m個糖果要分給n個孩子,n大於m,註定有的孩子不能分到糖果。其中,每個糖果的大小都不同,分別為S1,S2,S3...,Sm,每個孩子對糖果的需求也是不同的,為N1,N2,N3...,Nn,那麼我們如何分糖果,才能盡可能滿足最多數量孩子的需求?
這個問題中,限制值是糖果的數量m,期望值滿足最多的孩子需求。對於每個孩子,能用小的糖果滿足其需求,就不要用大的,避免浪費。所以我們可以給所有孩子的需求排個序,從需求最小的孩子開始,用剛好能滿足他的糖果來分給他,以此來分完所有的糖果。
我們有1元、5元、10元、20元、50元、100元紙幣各C1、C5、C10、C20、C50、C100張,現在要購買一個價值K元的東西,請問怎麼才能適用最少的紙幣?
這個問題應該不難,限制值是各個紙幣的張數,期望值是適用最少的紙幣。那麼我們就先用面值最大的100元去付錢,當再加一張100元就超過K時,就更換小面額的,直至正好為K元。
對於n個區間[L1,R1],[L2,R2]...[Ln,Rn],我們怎麼從中選出盡可能多的區間,使它們不相交?
我們需要把這個問題轉換為符合貪心演算法特點的問題,假設這么多區間的最左端點是Lmin,最右端點是Rmax,那麼問題就是在[Lmin,Rmax]中,選擇盡可能多的區間往裡面塞,並且保證它們不相交。這里,限制值就是區間[Lmin,Rmax],期望值就是盡可能多的區間。
我們的解決辦法就是每次從區間中選擇那種左端點>=已經覆蓋區間右邊端點的,且該區間右端點盡可能高小的。如此,我們可以讓未覆蓋區間盡可能地大,才能保證可以塞進去盡可能多的區間。
貪心演算法最重要的就是學會如何將要解決的問題抽象成適合貪心演算法特點的模型,找到限制條件和期望值,只要做好這一步,接下來的就比較簡單了。在平時我們不用刻意去記,多多練習類似的問題才是最有效的學習方法。
7. c語言發糖果問題
這種題目,幾乎沒或帆雀人會幫你做的,這要靠自己,你想到多少代碼,就先寫,就算是定義幾個變數,這是寫了,學習編程,最主要是要動手做,都敲代碼!不會的地方,再具體問,你一下子發整道題出來,誰都是看衫早一眼,立馬關掉的!
如果我的回答解決了你的問題,花點時間看下我資料,我資料裡面有我新建的群,或看下私信,我也發了私信給你了轎攔,歡迎喜歡C語言,編程語言的加入...一起學習,一起探討,一起進步!
8. 有15顆糖 分給2個小朋友 一個小朋友分7顆 另一個小朋友分幾顆
首先我們可氏型判以演算法一下,這是一個非常簡單的一年級的應用題。總計有15個糖分給兩個小朋友,其中一個小租咐朋友分了七顆,那麼一個,另外一殲改個小朋友就是分了剩下的這些也就是拿15-7=8,所以另外一個小朋友分了八顆。
9. 幼兒園老師給小朋友分糖果,若每個分8塊還剩10塊,若每人分10塊,最後一人就一塊都分不到,那麼共有
90塊
10. 分糖,每人分3塊多7,每人分4塊少15,問一共有多少人
設共有x人 4x-15=3x+7
4x-3x=22
x=22
每人分3塊多大侍7,每人分4塊少15,一共有段戚22人握仿陵.