Making three LED's blink at given times
You could start by drawing a time graph, like this:

LED 1   # # # # # # # # # # # # # # # # # # 
LED 2    ##  ##  ##  ##  ##  ##  ##  ##  ## 
LED 3      ###   ###   ###   ###   ###   ###
        &lt;-period 1-&gt;&lt;-period 2-&gt;&lt;-period 3-&gt;


As you see on the graph, the whole sequence repeats itself every
12&nbsp;seconds. Then, you can just write down all the pin toggles for
12&nbsp;seconds and let the loop repeat itself:

void loop() {
    digitalWrite(ledPin1, HIGH);
    digitalWrite(ledPin3, LOW);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, HIGH);
    delay(1000);
    digitalWrite(ledPin1, HIGH);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin3, HIGH);
    delay(1000);
    digitalWrite(ledPin1, HIGH);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, HIGH);
    delay(1000);
    digitalWrite(ledPin1, HIGH);
    digitalWrite(ledPin3, LOW);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, LOW);
    delay(1000);
    digitalWrite(ledPin1, HIGH);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, HIGH);
    digitalWrite(ledPin3, HIGH);
    delay(1000);
    digitalWrite(ledPin1, HIGH);
    delay(1000);
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, LOW);
    delay(1000);
}


This was the simple, albeit tedious solution.

The smart solution is to go through the Blink Without Delay Arduino
tutorial. You will see that, once you start using millis() instead of
delay() for managing your timings, blinking three LEDs instead of one
is completely trivial.