%I #22 Apr 01 2019 02:03:20
%S 0,1,3,2,9,5,4,120,8,14,7,6,22,13,34,12,21,11,10,52,20,33,19,79,18,32,
%T 17,51,16,15,31,181,30,50,29,78,28,49,27,119,26,48,25,77,24,23,47,615,
%U 46,76,45,118,44,75,43,180,42,74,41,117,40,73
%N a(0) = 0; for n > 0, if the number of blanks already in the sequence is greater than or equal to n, n is filled in at the nth blank counting from the end of the sequence; otherwise n is added to the end of the sequence followed by n blanks.
%C The consecutive number of blanks added to the sequence (1, 2, 4, 6, 10, 15, ...) appear to form the sequence A112088  1. The unique values for the length of the sequence (1, 3, 6, 11, 18, 29, 45, 69, 105, ...) then becomes 1 + the partial sums of A112088.
%H Jan Koornstra, <a href="/A306470/b306470.txt">Table of n, a(n) for n = 0..10000</a>
%e For n < 3, n is added to the sequence along with n blanks (denoted by 1): [0, 1, 1, 2, 1, 1]. There are now three blanks in the sequence, hence n = 3 is filled in at the third blank counting from the end of the sequence: [0, 1, 3, 2, 1, 1].
%t TakeWhile[Nest[Function[{a, n, b}, If[b >= n, ReplacePart[a, Position[a, 1][[n]] > n ], Join[a, Prepend[ConstantArray[1, n], n]]]] @@ {#, Max@ # + 1, Count[#, 1]} &, {0}, 10^3], # > 1 &] (* _Michael De Vlieger_, Mar 24 2019 *)
%o (Python 3)
%o seq = [0]
%o for n in range(1, 1387):
%o num_blanks = seq.count(1)
%o if num_blanks >= n: seq[[index for index, value in enumerate(seq) if value == 1][num_blanks  n]] = n
%o else: seq += [n] + [1] * n
%o print(seq[:100])
%Y Cf. A112088.
%K nonn,easy,look
%O 0,3
%A _Jan Koornstra_, Feb 17 2019
