各種面試題 小朋友拿糖果

2021-06-18 19:46:07 字數 460 閱讀 6049

小朋友拿資料

有兩個小朋友,玩乙個遊戲,遊戲的內容是:

有乙個陣列,只有頭和尾可以取資料,一次只能取得乙個,誰拿到的資料和最大誰就贏了。

現在假設兩個小孩都足夠聰明。你能否求出第乙個小孩,取得的和是多少

分析:首先讓我想到的是動態規劃,然後試圖給出公式。

不管哪個小孩,我們用dp[j]表示第一次拿可以拿到的最優解。

因為他只有兩種選擇 a 或者 a[j]

如果他拿了a 那麼剩餘陣列是 a[i+1, j] 因為第二個小孩也足夠聰明,他從這個陣列先拿,也可以拿到他的最優解 dp[i+1][j]

那麼當前這個小孩,只能拿到 a[i+1, j] 的資料和減去最優解。

所以dp公式如下

dp[i][j] = max(a[i] + sum(i+1, j) - dp[i+1][j],

a[j] + sum(i, j-1) - dp[i][j-1]);  

各種面試題 分配糖果

有n個小朋友站成一排 編號從0到n 1 每個小朋友有乙個rating值,存放在ratings陣列中。老師需要給他們分配糖果,每個小朋友至少需要一顆糖果,對於任意相鄰的兩個小朋友i和i 1,rating值大的必須比rating值小的分配的糖果多 rating相同的沒必要分配一樣多的糖果 請計算最少需要...

網易面試題 糖果謎題

程式設計題 糖果謎題 時間限制 1秒 空間限制 32768k 小明是幼兒園的一名老師。某天幼兒園園長給小朋友們每人發一顆糖果,小朋友們拿到後發現有一些同學拿到的糖果顏色和自己相同,有一些同學糖果顏色和自己不同。假定每個小朋友只知道有多少同學和自己拿到了相同顏色的糖果。上課後,有一部分小朋友興奮的把這...

各種面試題 大數乘法

上次同學在微軟就面到這個了。比較煩的是處理符號。有兩個注意的 第乙個是中間儲存結果要用vector不能用string,否則會溢位。二是注意有無符號時候,需要相乘的起始位置也不一樣。返回a b的結果 string multiply const string a,const string b if b ...