次のように内容は次のとおりです。
整数配列を考えると
nums
、正確に4つの除数を持って、その配列内の整数の約数の合計を返します。アレイ内のそのような整数が存在しない場合、返さ
0
。例1:
入力:NUMS = [21,4,7] 出力:32 説明: 21 4個の約数有する:1、3、7、21 1、2、4:4は、3個の約数有する 1,7:7 2つの除数を有するの 答えが唯一の21の約数の合計。制約:
1 <= nums.length <= 10^4
1 <= nums[i] <= 10^5
問題解決のアイデア:各要素はいくつかの除数がうまくうまくいく持っていNUMS。
コードは以下の通りであります:
クラスのソリューション(オブジェクト): デフsumFourDivisors(自己、NUMS): "" " :タイプNUMS:リスト[INT] :RTYPE:int型 """ 輸入数学 RES = 0 のため NUM でNUMS: DIV = [] のための私で範囲(1、INT(math.sqrt(NUM))+ 1 ): もしをnum%I == 0 と I ない でDIV: div.append(I) の場合 NUM / I = I:!div.append(NUM / I ) 場合 lenは(DIV)> 4:ブレーク 場合 lenは(DIV)== 4:RES + = 合計(DIV) の戻りRES