在Python中查找最大的可被K整除的子序列和的程序
假设我们有一个非负数的列表,以及一个正值k。我们必须找到最大的子序列数字之和,使其可被k整除。
因此,如果输入为nums = [4,6,8,2],k = 2,那么输出将是20。
整个数组的总和为20,可被2整除。
为了解决这个问题,我们将遵循以下步骤 –
- numsSum:获取输入列表nums中的值的总和
-
remainder:numsSum mod k
-
如果remainder与0相同,则
- 返回numsSum
- 对nums列表进行排序
-
对于nums中的每个数字组合tpl。做以下操作
- subSeqSum:sum(tpl)
-
如果subSeqSum mod k与remainder相同,则
- 返回numsSum-subSeqSum
- 返回0
请看以下实现以获得更好的理解