タグ

qiitaとalgorithmに関するcaffephiliaのブックマーク (1)

  • [速習] 配列から欠けている数字を見つける「XORトリック」の深い理論と実践 - Qiita

    皆さんは『配列から欠けている数字を見つけろ』と言われたら、どう答えますか? 多くの方は「HashSetで解けばいい」と考えるでしょう。しかし、1000万個の要素で実測したところ、Pythonのsetは945MBもの追加メモリを消費し、処理に2.3秒かかりました。一方、XORを使った解法は追加メモリゼロ、C言語なら1ミリ秒で完了します。 なぜこれほどの差が生まれるのか? XORには単なるトリック以上の深い理論があり、配列の欠損値検出だけでなく、RAID 5のデータ復元やネットワークのエラー検出など、実務で幅広く応用されているのです。 追記: ネットワーク転送時のパケットロスやノイズによるデータ欠損、さらには宇宙線がメモリに衝突してビットが反転する「ソフトエラー」により、配列から要素が失われることがあります。 記事では、Florian Hartmannの「That XOR Trick」1を基

    [速習] 配列から欠けている数字を見つける「XORトリック」の深い理論と実践 - Qiita
    caffephilia
    caffephilia 2025/07/07
    「まず『配列から欠けている数字を見つけろ』とはどういう意味ですか?」って聞く。いやマジで「配列から欠けている数字を見つける」って何?配列中の最小値と最大値の間の欠けている数字を見つける?(読んでない)
  • 1