プログラマ-ターゲット番号(C++)
条件1-負でない整数配列とターゲット番号を指定します.
条件2-プラスマイナスで整数を求めて目標番号を生成する方法数
すなわち、各整数配列の値を加算すると、減算された総数が目標番号に等しい場合、総数が求められる.
DFSで簡単に解決できます.
条件2-プラスマイナスで整数を求めて目標番号を生成する方法数
すなわち、各整数配列の値を加算すると、減算された総数が目標番号に等しい場合、総数が求められる.
DFSで簡単に解決できます.
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
int ans = 0;
void DFS(vector<int> nums, int finalNum, int target) {
if (nums.size()==0 && finalNum == target) {
ans++;
return ;
}
if (nums.size()==0)
return;
int plusSum = finalNum + nums[0];
int minusSum = finalNum - nums[0];
nums.erase(nums.begin());
DFS(nums, plusSum, target);
DFS(nums, minusSum, target);
}
int solution(vector<int> numbers, int target) {
int answer = 0;
DFS(numbers, 0, target);
answer = ans;
return answer;
}
Reference
この問題について(プログラマ-ターゲット番号(C++)), 我々は、より多くの情報をここで見つけました https://velog.io/@countryyoon/프로그래머스-타겟-넘버-Cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol