| 123456789101112131415161718192021 | func magicalString(n int) int {	if n <= 1 {		return n	}	l, pre, cnt := 3, 2, 1	queue := []int{2}	for l < n {		inc := queue[0]		queue = queue[1:]		pre = 3 - pre		for i := 0; i < inc && l < n; i++ {			queue = append(queue, pre)			l++			if pre == 1 {				cnt++			}		}	}	return cnt}
 |