1. 程式人生 > >演算法愛好者——分糖果 ? 待解決

演算法愛好者——分糖果 ? 待解決

有 N 個小孩站成一列。每個小孩有一個評級。按照以下要求,給小孩分糖果:
1、每個小孩至少得到一顆糖果。
2、評級越高的小孩可以比他相鄰的兩個小孩得到更多的糖果。
寫一個函式計算需最少準備多少糖果?

格式:

輸入第一行依次輸入代表小孩評級的陣列,最後依次需要準備最少的糖果的數量。

樣例輸入

[ 1,2 ]
[ 1,1,1 ]
[ 1,2,2 ]

樣例輸出

3
3
4

思路

相關推薦

演算法愛好者——糖果解決

有 N 個小孩站成一列。每個小孩有一個評級。按照以下要求,給小孩分糖果: 1、每個小孩至少得到一顆糖果。 2、評級越高的小孩可以比他相鄰的兩個小孩得到更多的糖果。 寫一個函式計算需最少準備多少糖果

演算法愛好者——子集 ? 解決

給定一個含不同整數的集合,寫一個函式返回其所有的子集。其中子集中的元素排列必須是非降序的,解集必須不包含重複的子集。 格式: 輸入第一行輸入一個整數陣列的集合,最後輸出該集合的所有子集的集合。 樣

演算法愛好者——演算法題:最大間距 ? 解決

給定一個未經排序的陣列,寫一個函式找出其排序表中連續兩個要素的最大間距。如果陣列中的要素少於 2 個,請返回 0。 注意事項: 1、可以假定陣列中的所有要素都是非負整數,且最大不超過 32 位整數。

演算法愛好者——連結串列排序 ? 解決

請寫一個函式實現在 O(n log n) 時間複雜度和常數級的空間複雜度下給連結串列排序。 格式: 輸入第一行輸入一個連結串列,最後輸入按升序排列後的連結串列。 樣例輸入 1 -> 3 -> 2 -> null 樣例輸出 1 -&g

演算法愛好者——演算法題:報數 ? 解決

報數指的是,按照其中的整數的順序進行報數,然後得到下一個數。如下所示:1,11,21,1211,111221, … 1 讀作 “one 1” -> 11 11 讀作 “two 1s” -> 21 21 讀作 “one 2, then one 1

演算法愛好者——重複子串 ? 解決

寫一個方法, 給一個由 N 個字元構成的字串 A和一個由 M 個字元構成的字串 B, 返回 A 必須重複的次數,使得 B 是重複字串的子串。如果 B 不可能為重複字串的子串, 則返回 -1. 注意事項: 0 <= N <= 1000,1 <=

演算法愛好者——演算法題:四元組 ? 解決

給定一個包含 n 個數的整數陣列 S,寫一個函式在 S 中找到所有使得和為給定整數 target 的四元組 ( a,b,c,d )。 注意事項: 1、四元組 ( a,b,c,d ) 中,需要滿足 a <= b <= c <= d 2、答案

演算法愛好者——演算法題:交錯正負數 ? 解決

給出一個含有正整數和負整數的陣列,寫一個函式重新排列成一個正負數交錯的陣列。 注意事項: 不需要保持正整數或者負整數原來的順序。 挑戰 : 原地完成,沒有額外的空間 格式: 輸入行第一行輸入

演算法愛好者——揹包問題升級版 ? 解決

給出一個都是正整數的陣列 nums,其中沒有重複的數。編寫一個函式從中找出所有的和為 target 的組合個數。其中一個數可以在組合中出現多次。數的順序不同則會被認為是不同的組合。 格式: 第一行輸入一個 整數陣列,第二行輸入一個數字 target ,最後按

演算法愛好者——演算法題:亂序字串 ? 解決

給出一個字串陣列 S,寫一個函式找到其中所有的亂序字串(Anagram)。如果一個字串是亂序字串,那麼它存在一個字母集合相同,但順序不同的字串也在S中。 注意事項: 所有的字串都只包含小寫字母 格式: 輸入行輸入一個字元陣列 S,最後輸出其中的亂序字串。

演算法愛好者——演算法題:堆化 ? 解決

給出一個整數陣列,寫一個函式將陣列堆化。堆化操作就是把它變成一個最小堆陣列。對於堆陣列A,A[0] 是堆的根,並對於每個 A[i],A [i * 2 + 1] 是 A[i] 的左兒子並且 A[i * 2 + 2] 是 A[i] 的右兒子。 說明: 什麼是堆?

演算法愛好者——k 數和 ? 解決

給定 n 個不同的正整數,整數 k(k < = n)以及一個目標數字。在這 n 個數裡面找出 k 個數,使得這 k 個數的和等於目標數字,寫一個函式實現找到不同的方案的數量。 格式: 輸入第一行輸入一個整數陣列,第二行輸入一個整數 k ,第三行輸入一個

演算法愛好者——演算法題:最大點集 ? 解決

P為給定的二維平面整數點集。定義 P 中某點x,如果x滿足 P 中任意點都不在 x 的右上方區域內(橫縱座標都大於x),則稱其為“最大的”。求出所有“最大的”點的集合。(所有點的橫座標和縱座標都不重複, 座標軸範圍在[ 0, 1e9 ) 內) 如下圖:實心點為

演算法愛好者——擺動排序 ? 解決

給你一個沒有排序的陣列,請將原陣列就地重新排列滿足如下性質: nums[0] <= nums[1] >= nums[2] <= nums[3]…. 請寫一個函式實現此排序功能。 注意事項: 請就地排序陣列,也就是不需要額外陣列 格式

演算法愛好者——圖是否是樹 ? 解決

給出 n 個節點,標號分別從 0 到 n - 1 並且給出一個無向邊的列表 (給出每條邊的兩個頂點),寫一個函式去判斷這張 “無向圖” 是否是一棵樹。 注意事項: 你可以假設我們不會給出重複的邊在邊的列表當中。無向邊 [ 0,1 ] 和 [ 1,0 ]是同一

【BZOJ】3052: [wc2013]糖果公園 樹塊+修改莫隊算法

.html algo 2種 過程 BE oid park wap rev 【題目】#58. 【WC2013】糖果公園 【題意】給定n個點的樹,m種糖果,每個點有糖果ci。給定n個數wi和m個數vi,第i顆糖果第j次品嘗的價值是v(i)*w(j)。q次詢問一條鏈上每個點價值的

leetcode 135. Candy 糖果 + 很經典的貪心演算法

There are N children standing in a line. Each child is assigned a rating value. You are giving candies to these children subjected

lintcode&九章演算法——Microsoft 面試題 | 我能贏 ? 解決

題目描述 有兩個人玩一個遊戲,給定一個最大可取整數 maxChoosableInteger,兩個人輪流從1~maxChoosableInteger 中取一個數,取過的數不可再取,若其中一方取過以後, 所有取過的數加起來的和大於等於desiredTotal,那

解決Maven_pom.xml 報錯

XML maven構建項目 maven構建 itl pan 構建項目 構建 tag spa maven構建項目時,pom.xml文件<version>${shiro.version}</version>報錯,將內容換為具體的版本號就消失了待解決Mav

UCloud 的安全秘鑰 (計蒜客初賽第五場)(解決

限制 一行 序列 0ms n) content mes 初賽 -o 20.7% 1200ms 262144K 每個 UCloud 用戶會構造一個由數字序列組成的秘鑰,用於對服務器進行各種操作。作為一家安全可信的雲計算平臺,秘鑰的安全性至關重要。因此,UCloud