zoukankan      html  css  js  c++  java
  • 1604. 两数最大和

    1604. 两数最大和

    中文English

    给定一个由N个整数组成的数组A,返回两个数字的最大总和,规定这两个数的所有位加起来相等。 如果没有两个数字的各个位相加和相等,则该函数应返回-1。

    样例

    示例1:
    输入:
    A = [51, 71, 17, 42]
    输出: 93
    解释:这里有两对各个位相加和相等的数:(51, 42) 和 (17,71),第一对的和是93
    
    示例2:
    输入:
    A = [42, 33, 60]
    输出: 102
    解释:所有的数各个位相加的和都相等,选择42 + 60 = 102
    
    示例3:
    输入:
    A = [51, 32, 43]
    输出: -1
    解释: 所有数的各个位相加和都不一样,因此返回-1
    

    注意事项

    • N的范围是 [1, 200000]
    • A中的每一个参数的范围是 [1, 1000000000]
    class Solution:
        def MaximumSum(self, A):
            if not A: return -1 
    
            sum_array = self.help(A)
            max_value = -1
            length = len(A)
    
            for i in range(length - 1):
                for j in range(i + 1, length):
                    if sum_array[i] == sum_array[j] and A[i] + A[j] > max_value:
                        max_value = A[i] + A[j]  
    
            return max_value
    
        def help(self, nums):
            #得到位数和,总和
            sum_array = []
    
            for num in nums:
                num_str = str(num)
    
                num_sum = 0
                for val in num_str:
                    num_sum += int(val) 
                sum_array.append(num_sum)
    
            return sum_array
  • 相关阅读:
    TI科学家谈浮点DSP未来发展
    请爱护你的JTAG烧录口---记录
    程序猿必看
    富人与穷人的区别--转自红尘
    DSP已经英雄迟暮了吗?FPGA才是未来的大杀器?
    FPGA+ARM or FPGA+DSP?
    DDR3调试记录
    调试记录1
    有关FPGA
    Nginx常见配置说明
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/14141126.html
Copyright © 2011-2022 走看看