题解 | #目标和#

目标和

http://www.nowcoder.com/practice/7fc06e2162f048658252fac542fcb1e8

递归,路径选择

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param nums int整型一维数组 
# @param target int整型 
# @return int整型
#
class Solution:
    def __init__(self):
        self.count = 0
    
    def findTargetSumWays(self , nums: List[int], target: int) -> int:
        # write code here
        self.targetSum(nums, [], target, 0)
        return self.count
    
    
    def targetSum(self, nums: List[int], path: List[int], target: int, start: int) -> None:
        if start > len(nums):
            return False
        if start == len(nums) and sum(path) == target:
            return True
        if start < len(nums) and self.targetSum(nums, path + [nums[start] * 1], target, start + 1):
            self.count = self.count + 1
        if start < len(nums) and self.targetSum(nums, path + [nums[start] * -1], target, start + 1):
            self.count = self.count + 1
        return False
    
全部评论

相关推荐

算法题感觉都挺简单的啊
投递哔哩哔哩等公司10个岗位
点赞 评论 收藏
分享
07-20 12:08
已编辑
江南大学 图像识别
机械牛马勇闯秋招:把校园经历里面做过的项目,大作业,课设,毕设啥的,扩写,写成具体的项目经历,自我评价缩写别占篇幅,不然这简历真没东西,初筛都过不了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务