Here's how you get them.
The skeleton equation is
#"NO"_3^"-" + "Zn" → "Zn"^"2+" + "NO"#
Step 1. Separate the equation into two half-reactions.
#"NO"_3^"-" → "NO"#
#"Zn" → "Zn"^"2+"#
Step 2. Balance all atoms other than #"H"# and #"O"#.
Done.
Step 3. Balance #"O"# by adding #"H"_2"O"# molecules to the deficient side.
#"NO"_3^"-" → "NO" +2"H"_2"O"#
#"Zn" → "Zn"^"2+"#
Step 4. Balance #"H"# by adding #"H"^"+"# ions to the deficient side.
#"NO"_3^"-" + "4H"^"+" → "NO" +2"H"_2"O"#
#"Zn" → "Zn"^"2+"#
Step 5. Balance charge by adding electrons to the deficient side.
#"NO"_3^"-" + "4H"^"+" +"3e"^"-" → "NO" +2"H"_2"O"#
#"Zn" → "Zn"^"2+" + "2e"^"-"#
Step 6. Multiply each half-reaction by a number to equalize the electrons transferred.
#2×["NO"_3^"-" + "4H"^"+" +"3e"^"-" → "NO" +2"H"_2"O"]#
#3×["Zn" → "Zn"^"2+" + "2e"^"-"]#
Step 7. Add the two half-reactions.
#2"NO"_3^"-" + "3Zn" + "8H"^"+" → "2NO" + "3Zn"^"2+" + "4H"_2"O"#
Step 8. Convert to basic solution my adding the appropriate multiples of #"H"^"+" + "OH"^"-" → "H"_2"O"# or #"H"_2"O" → "H"^"+" + "OH"^"-"#.
We want to cancel #"8H"^"+"#, so we add eight of the second equation.
#2"NO"_3^"-" + "3Zn" + color(red)(cancel(color(black)("8H"^"+"))) → "2NO" + "3Zn"^"2+" + color(red)(cancel(color(black)("4H"_2"O")))#
#stackrelcolor(blue)(4)(color(red)(cancel(color(black)(8))))"H"_2"O" → color(red)(cancel(color(black)("8H"^"+"))) + "8OH"^"-"#
#stackrel(————————————————————)(2"NO"_3^"-" + "3Zn" + 4"H"_2"O" → "2NO" + "3Zn"^"2+" + "8OH"^-")#
Step 9. Check that all atoms are balanced.
#bb("Atom"color(white)(m)"On the left"color(white)(m)"On the right")#
#color(white)(m)"N"color(white)(mmmmm)2color(white)(mmmmmmm)2#
#color(white)(m)"O"color(white)(mmmml)10color(white)(mmmmmml)10#
#color(white)(m)"Zn"color(white)(mmmml)3color(white)(mmmmmmm)3#
#color(white)(m)"H"color(white)(mmmmll)8color(white)(mmmmmmm)8#
Step 10. Check that charge is balanced
#bb("On the left"color(white)(m)"On the right")#
#color(white)(mmm)"2-"color(white)(mmmmmm)"2-"#
Everything checks! The equation is balanced.