72 DFS解决目标和问题

发布时间:2023年12月28日

问题描述:给你一个整数数组和一个整数target。

向数组中每个整数前添加'+'或'-',然后串联起所有整数,返回通过该种方法串联其所有的整数并且计算结果等于target的不同表达式的个数。

dfs求解:每次选择可以有选或不选两种,最多进行nums.length长度次遍历,并在最后一次过程中判断结果是否为0.

int count=0;
public void dfs(int []nums,int index,int target)
{
if(index==nums.length)
{
if(target==0){count++;return;}
return;
}
dfs(nums,index+1,target-nums[index]);
dfs(nums,index+1,target+nums[index]);
}
public int DFS(int []nums,int target)
{
dfs(nums,0,target);
???????return count;
}

文章来源:https://blog.csdn.net/qq_52299902/article/details/135251291
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。