<p>给你一个下标从 <strong>0</strong> 开始的整数数组 <code>nums</code> ,它表示英雄的能力值。如果我们选出一部分英雄,这组英雄的 <strong>力量</strong> 定义为:</p> <ul> <li><code>i<sub>0</sub></code> ,<code>i<sub>1</sub></code> ,<span style="">... </span><code><span style="">i<sub>k</sub></span></code><span style=""> </span>表示这组英雄在数组中的下标。那么这组英雄的力量为 <code><font face="monospace">max(nums[</font>i<sub>0</sub><font face="monospace">],nums[</font>i<sub>1</sub><font face="monospace">] ... nums[</font><span style="font-size:10.8333px">i<sub>k</sub></span><font face="monospace">])<sup>2</sup> * min(nums[</font>i<sub>0</sub><font face="monospace">],nums[</font>i<sub>1</sub><font face="monospace">] ... nums[</font><span style="font-size:10.8333px">i<sub>k</sub></span><font face="monospace">])</font></code> 。</li> </ul> <p>请你返回所有可能的 <strong>非空</strong> 英雄组的 <strong>力量</strong> 之和。由于答案可能非常大,请你将结果对 <code>10<sup>9 </sup>+ 7</code> <strong>取余。</strong></p> <p> </p> <p><strong>示例 1:</strong></p> <pre> <b>输入:</b>nums = [2,1,4] <b>输出:</b>141 <b>解释:</b> 第 1 组:[2] 的力量为 2<sup>2</sup> * 2 = 8 。 第 2 组:[1] 的力量为 1<sup>2</sup> * 1 = 1 。 第 3 组:[4] 的力量为 4<sup>2</sup> * 4 = 64 。 第 4 组:[2,1] 的力量为 2<sup>2</sup> * 1 = 4 。 第 5 组:[2,4] 的力量为 4<sup>2</sup> * 2 = 32 。 第 6 组:[1,4] 的力量为 4<sup>2</sup> * 1 = 16 。 第 7 组:[2,1,4] 的力量为 4<sup>2</sup> * 1 = 16 。 所有英雄组的力量之和为 8 + 1 + 64 + 4 + 32 + 16 + 16 = 141 。 </pre> <p><strong>示例 2:</strong></p> <pre> <b>输入:</b>nums = [1,1,1] <b>输出:</b>7 <b>解释:</b>总共有 7 个英雄组,每一组的力量都是 1 。所以所有英雄组的力量之和为 7 。 </pre> <p> </p> <p><strong>提示:</strong></p> <ul> <li><code>1 <= nums.length <= 10<sup>5</sup></code></li> <li><code>1 <= nums[i] <= 10<sup>9</sup></code></li> </ul>