競技プログラミング用 知識集積所
ABC417B - Search and Delete
最終更新:
sport_programming
-
view
問題
必要知識
A問題レベルのものは省略
- 特になし
考え方
bの要素それぞれ、aの要素と順に比較していき、同じ値があったらそのうち1つを取り除く。
問題文に書いてある通りに素直にやって、最初に見つけた1つを消すようにすればいい。
問題文に書いてある通りに素直にやって、最初に見つけた1つを消すようにすればいい。
問題は、真ん中あたりから取り除くというのが、vectorでは難しい点。
そこで、取り除く代わりに-1に変更をしておき、出力時に-1をスキップすることで解決する。
そこで、取り除く代わりに-1に変更をしておき、出力時に-1をスキップすることで解決する。
解答例
注意点
別解
list※を使う
途中をいきなり削除と言えばlist※。
これなら、-1に書き換えるなんて露骨な回避策を書かなくてもよくなる。
ただし、forループはイテレータ※で回す必要がある上に、ランダムアクセスができないので、書き方がわりと面倒。
解答例
これなら、-1に書き換えるなんて露骨な回避策を書かなくてもよくなる。
ただし、forループはイテレータ※で回す必要がある上に、ランダムアクセスができないので、書き方がわりと面倒。
解答例