ターゲット番号


ステップ2


Javaによる


問題の説明

  • n個の非音整数は
  • 存在する.
  • この数を追加または減算して、ターゲット番号
  • を作成します.
  • [1,1,1,1,1]数値3を作成するには、
  • という5つの方法があります.
    class Solution {
        private int count = 0;
        
        private void calc(int[] numbers, int start, int target) {
            if (start == numbers.length) {
                if (target == 0) count++;
                return;
            }
            
            target -= numbers[start];
            calc(numbers, start + 1, target);
            target += numbers[start];
            target += numbers[start];
            calc(numbers, start + 1, target);
        }
        
        public int solution(int[] numbers, int target) {
            int answer = 0;
            
            calc(numbers, 0, target);
            
            return count;
        }
    }
    本当に簡単な問題を解決してびっくりしました.再帰関数で近似する方法は最初から考えていましたが、問題を考えるのが難しいので、考えすぎたのかもしれません.かかった時間より結果が少し空っぽ(?)しかし、私はまた私の才能を整理しました.