> 2342。具有等分总和
总和的最高总和难度:中等
>>主题:数组,哈希表,排序,堆(优先级队列)
>您得到了由正面整数组成的0个索引数字。您可以选择两个索引i和j,以便i!= j,数字数字的数字之和等于nums [j]。。
返回nums [i] nums [j]的最大值,您可以在满足条件
>的所有可能的i和j上获得>。
>>示例1:
输入: nums = [10,12,19,14]
1 5
解决方案:
>
我们需要计算数组中每个数字的数字总和。>使用哈希表(或php中的关联数组)与具有相同数字总和的组号。
对于每个组,找到两个最大的数字。
跟踪满足条件的任何对的最大总和。>
<?php /** * @param Integer[] $nums * @return Integer */ function maximumSum($nums) { ... ... ... /** * go to ./solution.php */ } /** * Helper function to calculate the sum of digits of a number * * @param $num * @return int */ function sumOfDigits($num) { ... ... ... /** * go to ./solution.php */ } // Example usage $nums1 = [18, 43, 36, 13, 7]; $nums2 = [10, 12, 19, 14]; echo maxSum($nums1); // Output: 54 echo "\n"; echo maxSum($nums2); // Output: -1 ?>
我们迭代数组中的每个数字,并计算其数字之和。
我们将数字存储在哈希表($ digitsummap)中,其中键是数字的总和,值是具有数字之和的数字。
对于每组数字(具有相同数字之和),我们按顺序排序它们,并检查至少两个数字。如果是这样,我们计算两个最大数字的总和,并跟踪找到的最大总和。
:
如果没有一对数字具有相同的数字总和,则该函数返回-1。>
联系链接
以上就是一对具有相等数字总和的最高总和的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号