494. 目标和

Posted 不吐西瓜籽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了494. 目标和相关的知识,希望对你有一定的参考价值。

算法记录

LeetCode 题目:

  给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 ‘+’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 :



说明

一、题目

  通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。

二、分析

  • 简单的深度暴力求解, 按照二叉树的形式进行向下拓展.
class Solution {
    private int num;
    public void dfs(int[] nums, int count, int target, int now) {
        if(count == nums.length) {
            if(target == now) num++;
            return ;
        }
        dfs(nums, count + 1, target, now + nums[count]);
        dfs(nums, count + 1, target, now - nums[count]);
    }
    public int findTargetSumWays(int[] nums, int target) {
        dfs(nums, 0, target, 0);
        return num;
    }
}

总结

熟悉深度遍历方法。

以上是关于494. 目标和的主要内容,如果未能解决你的问题,请参考以下文章

494. 目标和

494. 目标和

题目地址(494. 目标和)

494. 目标和

494. 目标和 回溯法+动态规划

494. 目标和