// Package q1545 implements a solution for https://leetcode.com/problems/find-kth-bit-in-nth-binary-string/ package q1545 var buf = make([]byte, 1<<20) var bufLen = 1 func init() { buf[0] = '0' } func generate() { buf[bufLen] = '1' newTail := bufLen * 2 for i := range bufLen { switch buf[i] { case '0': buf[newTail-i] = '1' case '1': buf[newTail-i] = '0' } } bufLen = newTail + 1 } func findKthBit(n, k int) byte { for bufLen < k { generate() } return buf[k-1] } var _ = findKthBit