給定乙個無重複的質數陣列arr,每個質數最多使用一次,求所有無重複的乘積並從小到大排序。
注意事項
2<= |arr|
<= 9
2<= arr[i] <= 23
樣例
給出 arr = [2,3], 返回 [6]。
解釋:
2*3=6。
給出 arr = [2,3,5], 返回 [6,10,15,30]。
解釋:
2*3=6, 2
*5=10, 3
*5=15, 2
*3*5=30。
思路
用arr的前兩個元素初始化res,每增加乙個元素arr[i],在res中新增arr中i位置之前的元素與arr[i]的乘積,再新增原res中所有元素與arr[i]的乘積。
例如
開始res==
新增5,=,=
res=
新增7,=,=
res=
#ifndef c896_h
#define c896_h
#include
#include
#include
#include
using
namespace
std;
class solution
sort(res.begin(), res.end());
return res;
}};#endif
lintcode 四數乘積問題
給定乙個長度為n的陣列a和乙個正整數k,從陣列中選擇四個數,要求四個數的乘積小於等於k,求方案總數。陣列中可能出現多個值相同的數。每次選擇四個數時,同乙個數不能被選擇兩次,而值相同的兩個不同的數可以同時被選。1 leq n leq 10 31 n 10 3 1 leq a i leq 10 6 1 ...
lintcode 四數乘積問題
給定乙個長度為n的陣列a和乙個正整數k,從陣列中選擇四個數,要求四個數的乘積小於等於k,求方案總數。陣列中可能出現多個值相同的數。每次選擇四個數時,同乙個數不能被選擇兩次,而值相同的兩個不同的數可以同時被選。1 leq n leq 10 31 n 10 3 1 leq a i leq 10 6 1 ...
LintCode 191 乘積最大子序
找出乙個序列中乘積最大的連續子串行 至少包含乙個數 樣例 比如,序列 2,3,2,4 中乘積最大的子串行為 2,3 其乘積為6。思路 動態規劃,每一步只需要記住其前一步的整數最大值和負數的最小值。因為涉及到正負,所以要儲存最小值和最大值兩種情況,因為負負得正。最小值的比較包括nums i min n...