首页 > 解决方案 > 无法理解如何在 python 中使用全局变量

问题描述

所以这是我试图解决的 Codewars 问题,基本上我通过这个网站学习了我所知道的任何 python。所以我尝试在这个问题上做约束规划。我认为我的方向是正确的,但“计数”似乎并没有起到作用,即计数 _-.-_/ 如果你能引导我走向正确的方向,那真的很有帮助。谢谢!

问题给定一个由正整数和负整数组成的数组,其中元素只出现一次(它们都不同于 0),一个称为目标的特定数,t,t ≠ 0,以及一个数 k,k > 0。

您应该找到组合的数量,哪些数字不是给定数组的连续元素,哪些总和(将它们的数字相加)在 [t - k, t + k] 范围内

我的代码:

count=0    
def check_sum(arr,lb,ub,vlb,vub,add,wh):
    global count
    if(vlb>vub):
        return
    if wh==1:
        val=arr[vub]
        vub-=1
    else:
        val=arr[vlb]
        vlb+=1
    if add+val>ub:
        if add+val+arr[vlb]<ub:
            check_sum(arr,lb,ub,vlb,vub,add,0)
    elif add+val<lb:
        if add+val+arr[vub]>lb:
            check_sum(arr,lb,ub,vlb,vub,add,1)
    else:
        count+=1
        check_sum(arr,lb,ub,vlb,vub,add,1)
        check_sum(arr,lb,ub,vlb,vub,add,0)




def find_comb_noncontig(arr, t, k):
    # your code here
    arr.sort()

    check_sum(arr,t-k,t+k,0,len(arr)-1,0,1)
    check_sum(arr,t-k,t+k,0,len(arr)-1,0,0)

    return count

这段代码中有一些问题,我似乎不明白关于“计数”的问题

标签: pythonalgorithmglobal-variables

解决方案


推荐阅读