牛客NC233 加起来和为目标值的组合(四)【中等 DFS C++、Java、Go、PHP】

题目

在这里插入图片描述
题目链接:
https://www.nowcoder.com/practice/7a64b6a6cf2e4e88a0a73af0a967a82b

解法

dfs

参考答案C++

class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型vector* @param target int整型* @return int整型*/int combination(vector<int>& nums, int target) {int cnt = 0;int* ans = &cnt;dfs(nums, target, ans);return *ans;}void dfs(vector<int>& nums, int sum, int* ans) {if (sum == 0) {(*ans)++;return;}if (sum < 0)return;for (int i = 0; i < nums.size(); i++) {sum -= nums[i];dfs(nums, sum, ans);sum += nums[i]; //恢复现场,又叫回溯}}
};

参考答案Java

`import java.util.*;

public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @param target int整型
* @return int整型
*/
public int combination (int[] nums, int target) {
int[] ans = {0};
dfs(nums, target, ans);

    return ans[0];
}public void dfs(int[] nums, int sum, int[] ans) {if (sum == 0) {ans[0]++;return;}if (sum < 0) return;for (int i = 0; i < nums.length ; i++) {sum -= nums[i];dfs(nums, sum, ans);sum += nums[i]; //恢复现场}
}

}`

参考答案Go

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums int整型一维数组* @param target int整型* @return int整型*/
func combination(nums []int, target int) int {ans := [1]int{0}dfs(nums, target, &ans)return ans[0]
}func dfs(nums []int, sum int, ans *[1]int) {if sum == 0 {ans[0]++return}if sum < 0 {return}for i := 0; i < len(nums); i++ {sum -= nums[i]dfs(nums, sum, ans)sum += nums[i] //恢复现场 又叫回溯}
}

参考答案PHP

<?php/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param nums int整型一维数组 * @param target int整型 * @return int整型*/
function combination( $nums ,  $target )
{$ans = 0;dfs($nums,$target,$ans);return $ans;
}function dfs($nums,$sum,&$ans){if($sum ==0){$ans++;return;}if($sum <0)return;for($i=0;$i<count($nums);$i++){$sum-=$nums[$i];dfs($nums,$sum,$ans);$sum+=$nums[$i];//恢复现场,又叫回溯}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/640233.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI-数学-高中-39空间向量-2空间向量法(法向量)

原作者视频&#xff1a;【空间向量】【一数辞典】2空间向量法&#xff08;重要&#xff09;_哔哩哔哩_bilibili 法向量&#xff08;高中阶段所有与面的关系&#xff0c;都可以通过法向量去证明和解答&#xff09;&#xff1a; 是空间解析几何的一个概念&#xff0c;垂直于平面…

【Linux】破解工具John the Ripper和端口扫描工具NMAP

一、弱口令检测---John the Ripper 1.了解 John the Ripper John the Ripper 是一款开源的密码破解工具&#xff0c;可使用密码字典&#xff08;包含各种密码组合的列表文件&#xff09;来进行暴力破解。 一款密码分析工具&#xff0c;支持字典式的暴力破解通过对shadow文件…

NCH WavePad for Mac:功能全面的音频编辑利器

NCH WavePad for Mac是一款功能全面的音频编辑软件&#xff0c;专为Mac用户设计。它集音频录制、编辑、处理和效果添加于一体&#xff0c;为用户提供一站式的音频解决方案。 NCH WavePad for Mac v19.16注册版下载 作为一款专业的音频编辑器&#xff0c;WavePad支持对音频文件进…

spring aop介绍

Spring AOP&#xff08;面向切面编程&#xff09;是一种编程范式&#xff0c;它允许开发者将横切关注点&#xff08;cross-cutting concerns&#xff09;从业务逻辑中分离出来&#xff0c;从而提高代码的模块化。在传统的对象导向编程中&#xff0c;这些横切关注点&#xff0c;…

Pandas 分组将指定列的数据转为列表或字典

分组后转为列表 语法 使用聚合函数&#xff0c;按照指定规则进行分组聚合 作用 对【Group】该列进行分组&#xff0c;分组后将【Value1】和【Value2】分别用列表进行组合&#xff0c;【OtherColumn】取第一个值 效果 代码 import pandas as pd# 创建一个示例DataFrame data…

STL_deque_stack_queue

Deque deque容器(双端队列) ​deque是一种双向开口的分段连续线性空间&#xff08;对外号称连续&#xff0c;使用者无法感知它是分段的&#xff09;。deque支持从头尾两端进行元素的插入和删除。deque没有容量的概念&#xff0c;因为它是动态地以分段连续空间组合而成的。随时…

社交媒体数据恢复:钉钉

在数字化办公日益普及的今天&#xff0c;钉钉作为一款综合性的企业级通讯工具&#xff0c;已经深入到众多企业和个人的工作与生活中。然而&#xff0c;在日常使用过程中&#xff0c;我们难免会遇到一些意外情况导致数据丢失的问题。本文将针对钉钉数据恢复这一主题&#xff0c;…

腾讯云轻量2核4G5M服务器优惠价格165元1年,2024年多配置报价单

腾讯云轻量2核4G5M服务器优惠价格165元1年。腾讯云服务器价格表2024年最新价格&#xff0c;轻量2核2G3M服务器61元一年、2核2G4M服务器99元1年&#xff0c;三年560元、2核4G5M服务器165元一年、3年900元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、8核32G配置11…

web前端框架设计第五课-计算属性与监听属性

web前端框架设计第五课-计算属性与监听属性 一.预习笔记 1.计算属性 computed split():拆分 reverse():倒序 join():拼接 计算属性与方法&#xff0c;两者效果一致&#xff0c;但是computed 是基于它的依赖缓存&#xff0c;只有相关依赖发生改变时才会重新取值。而使用 met…

Skill Check: OCI Generative AI Service Deep Dive

Skill Check: OCI Generative AI Service Deep Dive

配置使用IPsec安全框架保护RIPng报文

正文共&#xff1a;999 字 11 图&#xff0c;预估阅读时间&#xff1a;1 分钟 前面我们简单介绍了IPv6的基本概念&#xff08;IPv6从入门到精通&#xff09;&#xff0c;也做了动态路由协议的相关介绍&#xff08;IS-ISv6配置&#xff09;&#xff0c;还做了一个综合性比较强的…

厉害了,Numpy

几乎所有使用Python处理分析数据的人都用过Pandas&#xff0c;因为实在太方便了&#xff0c;就像Excel一样&#xff0c;但你知道Pandas是基于numpy开发出来的吗? Pandas和Numpy的关系类似于国产安卓系统和原生安卓&#xff0c;Numpy提供底层数据结构和算法&#xff0c;搭配数…