推 danielguo:話說 Amazon AWS 在招不少人, 有興趣的可以上網站看 02/26 15:58
AWS很操,沒有決心不要亂丟,半夜三點會被pager叫起來尿尿的...。
不過如果有興趣到Amazon的話,可以私底下丟resume給我。
---
另外這題應該是很基本的題目,
想丟履歷的試看看能不能儘快寫出來。
我的答案是這個,
如果不要sequeuce,要combination的話,
可以把result改成counter。
static void sumupArray(int [] array, int num, String result)
{
if (num == 0)
{
System.out.println(result);
return;
}
if (num < 0)
{
return;
}
for (int i : array)
{
sumupArray(array, num-i, result+ " " + i);
}
return;
}
--
Je t'aime,o capitale infame.
Tu m'as donne ta boue et j'en ai fait de l'or.
Charles Baudelaire 1821-67
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 76.22.103.54
推 bobju:嗯..這看起來才有高手的style. 02/27 09:33
推 danielguo:我的經驗 oncall 最好早睡, 這樣叫起來的話有時間可補眠 02/27 09:41
→ Baudelaire:咖早困咖午眠.. 02/27 09:47
→ yauhh:不知我有沒有誤解,i如果為0,程式會進入無窮迴圈? 02/27 10:05
→ yauhh:哦,我誤解了; 原來如此 02/27 10:20
推 Huangs:這個方法就是暴力展開所有組合。如果只是要算總數用DP就好 02/27 12:05
→ Huangs:或者在這個遞迴裡加上 memoization,複雜度差很多。 02/27 12:05
推 Huangs:另外這篇的方法似乎會產生重覆的組合(例如 1 2 和 2 1) 02/27 12:08
→ ledia:還會取同一個... 02/27 12:28
→ Baudelaire:所以說如果不要sequence就用int[] count啊 02/27 13:34
推 Huangs:把result改成count一樣要展開全部的排列,而且加總值是錯的 02/27 13:49
→ Huangs:因為會多算重覆的組合 02/27 13:49
→ yauhh:重複組合沒問題啦,你想,有三題三個分數1:5分,2:10分,3:5分, 02/27 18:08
→ yauhh:4:5分,求合計10分會得到(5,5),(5,5),10,(5,5),這是重複嗎? 02/27 18:09
→ yauhh:其實是(1:5,3:5),(1:5,4:5),2:10,(3:5,4:5),沒有重複啊 02/27 18:10
→ yauhh:而且解題是在面試中即時對話進行,這種額外資訊很好解釋的. 02/27 18:11
※ 編輯: Baudelaire 來自: 207.171.191.60 (02/28 01:53)
推 duer:你不是退版了....阿不對這是軟體版... 囧 02/28 16:52