质数乘积 -LintCode
生活随笔
收集整理的這篇文章主要介紹了
质数乘积 -LintCode
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個無重復的質數數組arr,每個質數最多使用一次,求所有無重復的乘積并從小到大排序。
注意事項 2 <= |arr| <= 9 2 <= arr[i] <= 23樣例
給出 arr = [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]的乘積。
例如 {2,3,5,7}
開始res={2*3}={6}
添加5,{2*5,3*5}={10,15},{6*5}={30}
res={6,10,15,30}
添加7,{2*7,3*7,5*7}={14,21,35},{6*7,10*7,15*7,30*7}={42,70,105,210}
res={6,10,14,15,21,30,35,42,70,105,210}
總結
以上是生活随笔為你收集整理的质数乘积 -LintCode的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在listary中调用谷歌翻译
- 下一篇: Echats关系图les-miserab