最近の記事
LeetCode で学んだ "整数列 nums=[...,...,...] から任意に選んで target=... に なる整数の組み合わせを見つけろ" (2Sum, 3Sum, 4Sum, Combination Sum II) で使う定石
TL;DR 大事なのは、1番目を配列のどこから取るか、2番目をどこからとるか、...を動かしていくことであって、配列の1番目の数を使うか使わないか、ではない。この方針でないと、同じ組み合わせを除外するのに苦労する。 ダメな例を改善してACすることもできたがコードが煩雑になるのでオススメできない。 ダメな例 (自分が最初にやってた。) class Solution { void helper(vector<int> &cands, int index, int tar