Leetcode刷题笔记题解(C++):LCR 102. 目标和

思路:利用回溯去遍历,回溯结束条件为遍历到最后一个数字,如果符合target则目标数+1

class Solution {
public:
    //记录合为结果的数量
    int count = 0;
    int findTargetSumWays(vector<int>& nums, int target) {
        //利用回溯来寻找
        backtrack(nums,target,0,0);
        return count;
    }
    void backtrack(vector<int>& nums, int target,int index,int sum){
        //回溯条件满足时,如果加到最后一个数
        if(index == nums.size()){
            //最后的和为目标值则结果数++
            if(sum == target) count++;
        }
        //当回溯条件不满足时
        else{
            //回溯,加法;这里sum初始为0,index为0,则需要加上nums[0]
            backtrack(nums,target,index+1,sum+nums[index]);
            //回溯,减法;这里sum初始为0,index为0,则需要加上nums[0]
            backtrack(nums,target,index+1,sum-nums[index]);
        }
    }
};

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-22 15:24:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-22 15:24:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-22 15:24:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-22 15:24:03       18 阅读

热门阅读

  1. 问题解决:django模型查询报错,找不到数据库表

    2024-01-22 15:24:03       36 阅读
  2. 集齐用 channel 把 Go 程序写崩的三种姿势~

    2024-01-22 15:24:03       24 阅读
  3. 【webrtc】跟webrtc学时间戳、序号类型转换

    2024-01-22 15:24:03       27 阅读
  4. lc142.环形链表Ⅱ

    2024-01-22 15:24:03       35 阅读
  5. Golang leetcode459 拼接+kmp算法

    2024-01-22 15:24:03       34 阅读
  6. 三、需求规格说明书(软件工程示例)

    2024-01-22 15:24:03       35 阅读
  7. 二分答案刷题4

    2024-01-22 15:24:03       38 阅读
  8. docker 脚本安装

    2024-01-22 15:24:03       31 阅读
  9. 基于asio的httpclient实现

    2024-01-22 15:24:03       34 阅读
  10. 【Linux】进程退出和进程等待

    2024-01-22 15:24:03       27 阅读