To avoid mistakes, let us first divide the original sequences by $2$ (for the sake of linearity):
0 0 1 2 3 3 3 0 0 0 0$\ldots$
It can be interpreted as a piecewise linear sequence, so you can expect a solution with about three degrees of freedom with ramps and steps. As these basic primitives are causal, you can use the method of deflation (or successive approximations). This is a quite common approach, used for instance in subspace decomposition, or in basis pursuit in signal processing. The idea is: find a first approximation that matches what you want approximately, subtract it from the data, and re-iterate the processing. The convergence is not always guaranteed, but it can give you insights or heuristics for a deeper approach. Here, it is likely to work fine.
You can start from left to right, build the obvious, remove it from the data, and iterate the process.
0 0 1 2 3 can be approximated with ramp $r(n-1)$. Subtract $r(n-1)$ from the data, and get:
0 0 0 0 0 1 2 6 7 8 9$\ldots$
You can compensate the "novel" left-most positive slope
0 1 2 with $-r(n-4)$. You now get:
0 0 0 0 0 0 0 3 3 3 3$\ldots$
and then the $-3u(n-7)$ finishes the job. Oh no, don't forget to multiply by two again.
Here, the exercise is relatively easy to manage. Such a morphological decomposition can be used on more complicated signals. If you want more details, you can check for instance Automatic decomposition of time series into step, ramp, and impulse primitives, Galati & Simaan, 2006:
Time series data that can be modeled as linear combinations of
weighted and shifted primitive functions such as ramps, steps and
impulses are representative of many industrial, manufacturing, and
business processes. Data of this type also are found in statistical
process control, structural health monitoring, and other system
diagnosis applications. Often, the existence of one or more of these
primitive functions may be indicative of the occurrence of a specific
process event, making their detection and interpretation of great
interest. The human eye is an exceptional tool at this kind of pattern
recognition. However, for processes that generate large amounts of
data the human eye encounters difficulties related to speed and
consistency necessitating an automated approach.