You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

数组元素按阈值K拆分后的个数总和求解及代码纠错问题

数组拆分计数问题调试

需求描述

给定包含N个正整数的数组Arr与阈值K,需将数组的每个元素拆分为若干个数值不超过K的数之和,求解所有元素拆分后得到的数的个数总和。

示例输入:N = 4,K = 3,Arr[] = {5, 8, 10, 13}
预期输出:14

原代码存在的问题

原代码存在多个语法、逻辑层面的错误,具体如下:

  • 缩进不符合Python规范:函数体、for循环、分支逻辑都没有正确缩进,直接运行会报语法错误
  • if分支逻辑完全错误:将赋值语句count = arr[i]/k作为判断条件,且分支内直接return 1,会导致遍历第一个元素时就提前终止函数返回错误结果,没有完成全数组的计数
  • 变量定义与作用域错误:没有在循环外初始化累加总和的变量,count、count1的定义位置混乱,循环外调用arr[i]会因为索引溢出报错
  • 除法使用错误:使用普通除法/会得到浮点数结果,计数为整数场景应当使用整数除法//
  • 计数逻辑错误:没有逐元素累加拆分数量,单个元素的拆分数量本质是求arr[i]/K的向上取整值,原代码的分支判断和累加逻辑完全不符合需求

正确实现

单个元素的拆分数量可以用整数除法实现向上取整,公式为(元素值 + K -1) // K,遍历所有元素累加即可得到最终结果:

def totalCount(self, arr, n, k):
    total = 0
    for num in arr:
        total += (num + k - 1) // k
    return total

示例验证

代入示例输入计算:

  • 5拆分:(5+3-1)//3 = 2个
  • 8拆分:(8+3-1)//3 = 3个
  • 10拆分:(10+3-1)//3 = 4个
  • 13拆分:(13+3-1)//3 = 5个
    总和2+3+4+5=14,和预期输出一致。

内容的提问来源于stack exchange,提问作者manzar313

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:24:03