# @param {Integer[]} nums # @return {Integer} def single_non_duplicate(nums) n=(nums.size+1)/2;nums<<-1 idx=(0...n).bsearch{|i|nums[i*2]!=nums[i*2+1]}*2 nums[idx] end

배열에서 어떤 짝수 인덱스 (0,2,4,...)를 잡을 때 그 자리랑 그 다음 자리 값이 다르다면 하나밖에 안 나오는 그 원소가 그 자리 또는 그 자리 이전에 있었다는 의미. -> 이분탐색