#20 Bit Manipulation: Lonely Integer
入力される数は、1つの数を除いて、ペアになっている。
入力される数の中で、ペアになっていない数字を見つけて出力する問題。
solution
XOR(排他的論理和)を使うことで、ペアになっていない数字を簡単に見つけられる。
以下rubyでの解。
input = $stdin.read.split("\n") n = input.shift nums = input.shift.split(" ").map(&:to_i) puts nums.inject {|result, num| result ^ num }
排他的論理和
感想
Cracking the Coding Interview Challenges 20題全てコンプリートした。
平日毎朝出社前に1題解くのを目標にゆっくり取り組んでいたので、20日程度。
やってみると、2,30分悩んでしまう問題もあったり、案外すんなり解けなかったりもした。
英語の出題分を理解するのもなかなか気合が要るので、これはよい復習になった。
なんでも良いんだけど、最近はこういうコツコツと日々積み上げていくことの大事さをひしひしと感じている。