22 Patterns | Java | Python

4 Rules
For the outer loop, count the no of lines
For the inner loop, focus on the no of columns
Print the ‘*” inside the inner for loop
Observe symmetry (optional)
Pattern 1
Problem Link
public class Solution {
public static void nForest(int n) {
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
System.out.print("* ");
}
System.out.println("");
}
}
}
Python
def nForest(n:int) ->None:
for i in range(n):
for j in range(n):
print("*", end=" ")
print()
Pattern 2
Problem - Link
public class Solution {
public static void nForest(int n) {
for(int i=0; i<n; i++){
for(int j=0; j<=i; j++){
System.out.print("* ");
}
System.out.println(" ");
}
}
}
def nForest(n:int) ->None:
for i in range(n):
for j in range(i+1):
print("*", end=" ")
print()
Pattern 3
Problem - Link
public class Solution {
public static void nTriangle(int n) {
for(int i=0; i<n; i++){
for(int j=0; j<=i; j++){
System.out.print(j+1 + " ");
}
System.out.println("");
}
}
}
def nTriangle(n:int) ->None:
for i in range(n):
for j in range(i+1):
print(j+1, end=" ")
print()
Pattern 4
Problem link
public class Solution {
public static void nTriangle(int n) {
for(int i=0; i<n; i++){
for(int j=0; j<=i; j++){
System.out.print(i+1+" ");
}
System.out.println();
}
}
}
def triangle( n:int) ->None:
for i in range(n):
for j in range(i+1):
print(i+1, end=" ")
print()
Pattern 5
Problem - link
public class Solution {
public static void seeding(int n) {
for(int i=0; i<n; i++){
for(int j=i; j<n; j++){
System.out.print("* ");
}
System.out.println();
}
}
}
def seeding(n: int) -> None:
for i in range(n):
for j in range(i,n):
print("*", end=" ")
print()
Pattern 6
Problem link
public class Solution {
public static void nNumberTriangle(int n) {
for(int i=0; i<n; i++){
for(int j=0; j<n-i; j++){
System.out.print(j+1+" ");
}
System.out.println();
}
}
}
def nNumberTriangle(n: int) -> None:
for i in range(n):
for j in range(n-i):
print(j+1, end=" ")
print()
Pattern 7
Problem - link
public class Solution {
public static void nStarTriangle(int n) {
int lastRowStars = 2*n - 1;
int spaces = lastRowStars/2;
int stars = 1;
for(int i=0; i<n; i++){
// Print Left spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
// Print Middle stars
for(int j=0; j<stars; j++){
System.out.print("*");
}
// Print right spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
System.out.println();
stars+=2;
spaces-=1;
}
}
}
def nStarTriangle(n: int) -> None:
total_last_row_stars = 2*n - 1
# First row values
spaces = int(total_last_row_stars/2)
stars = 1
for i in range(n):
# print left - spaces
for j in range(spaces):
print(" ",end="")
# print middle - stars
for j in range(stars):
print("*",end="")
# print right - spaces
for j in range(spaces):
print(" ",end="")
print()
spaces-=1
stars+=2
Pattern 8
Problem - link
public class Solution {
public static void nStarTriangle(int n) {
int stars = 2*n-1;
int spaces = 0;
for(int i=0; i<n; i++){
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
for(int j=0; j<stars; j++){
System.out.print("*");
}
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
System.out.println();
spaces+=1;
stars-=2;
}
}
}
def nStarTriangle(n: int) -> None:
stars = 2*n-1
spaces = 0
for i in range(n):
for j in range(spaces):
print(" ",end="")
for j in range(stars):
print("*", end="")
for j in range(spaces):
print(" ", end="")
print()
stars-=2
spaces+=1
Pattern 9
Problem - link
public class Solution {
public static void nStarTriangleUp(int n) {
int lastRowStars = 2*n - 1;
int spaces = lastRowStars/2;
int stars = 1;
for(int i=0; i<n; i++){
// Print Left spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
// Print Middle stars
for(int j=0; j<stars; j++){
System.out.print("*");
}
// Print right spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
System.out.println();
stars+=2;
spaces-=1;
}
}
public static void nStarTriangleDown(int n) {
int stars = 2*n-1;
int spaces = 0;
for(int i=0; i<n; i++){
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
for(int j=0; j<stars; j++){
System.out.print("*");
}
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
System.out.println();
spaces+=1;
stars-=2;
}
}
public static void nStarDiamond(int n) {
nStarTriangleUp(n);
nStarTriangleDown(n);
}
}
def nStarTriangleUp(n: int) -> None:
total_last_row_stars = 2*n - 1
# First row values
spaces = int(total_last_row_stars/2)
stars = 1
for i in range(n):
# print left - spaces
for j in range(spaces):
print(" ",end="")
# print middle - stars
for j in range(stars):
print("*",end="")
# print right - spaces
for j in range(spaces):
print(" ",end="")
print()
spaces-=1
stars+=2
def nStarTriangleDown(n: int) -> None:
stars = 2*n-1
spaces = 0
for i in range(n):
for j in range(spaces):
print(" ",end="")
for j in range(stars):
print("*", end="")
for j in range(spaces):
print(" ", end="")
print()
stars-=2
spaces+=1
def nStarDiamond(n: int) -> None:
# Write your code here.
nStarTriangleUp(n)
nStarTriangleDown(n)
Pattern 10
Problem - link
public class Solution {
public static void nStarTriangle(int n) {
int stars = 1;
for(int i=0; i<n; i++){
for(int j=0; j<stars; j++){
System.out.print("*");
}
System.out.println();
stars+=1;
}
stars-=2;
for(int i=0; i<n-1; i++){
for(int j=0; j<stars; j++){
System.out.print("*");
}
System.out.println();
stars-=1;
}
}
}
def nStarTriangle(n: int) -> None:
stars = 1
for i in range(n):
for j in range(stars):
print("*",end="")
print()
stars+=1
stars-=2
for i in range(n-1):
for j in range(stars):
print("*",end="")
print()
stars-=1
Pattern 11
Problem - link
public class Solution {
public static void nBinaryTriangle(int n) {
boolean rowFlag = true;
for(int i=0; i<n; i++){
boolean colFlag = rowFlag;
for(int j=0;j<(i+1); j++){
int val = colFlag ? 1 : 0;
System.out.print(val+" ");
colFlag = !colFlag;
}
System.out.println();
rowFlag = !rowFlag;
}
}
}
def nBinaryTriangle(n: int) -> None:
rowFlag = True
for i in range(n):
colFlag = rowFlag
for j in range(i+1):
val = int(colFlag)
print(val,end=" ")
colFlag = not colFlag
print()
rowFlag = not rowFlag
Pattern 12
Problem - link
public class Solution {
public static void numberCrown(int n) {
int number = 1;
int totalLength = 2*n;
int spaces = totalLength - 2;
for(int i=0; i<n; i++){
// Numbers
for(int j=1; j<=number; j++){
System.out.print(j+" ");
}
// spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
// Numbers in reverse
for(int j=number; j>=1; j--){
System.out.print(j+" ");
}
number+=1;
spaces-=2;
System.out.println();
}
}
}
def numberCrown(n: int) -> None:
number = 1
total_length = 2*n
spaces = total_length - 2
for i in range(n):
#numbers
for j in range(1, number+1):
print(j, end=" ")
#spaces
for j in range(spaces):
print(" ",end="")
#numbers in reverse
for j in range(number,0,-1):
print(j,end=" ")
print()
number+=1
spaces-=2
Pattern 13
Problem - link
public class Solution {
public static void nNumberTriangle(int n) {
int number = 1;
for(int i=0; i<n; i++){
for(int j=0; j<i+1; j++){
System.out.print(number+" ");
number+=1;
}
System.out.println();
}
}
}
def nNumberTriangle(n: int) -> None:
number = 1
for i in range(n):
for j in range(i+1):
print(number,end=" ")
number+=1
print()
Pattern 14
Problem - link
public class Solution {
public static void nLetterTriangle(int n) {
for(int i=0; i<n; i++){
char letter = 'A';
for(int j=0; j<i+1; j++){
System.out.print(letter+" ");
letter+=1;
}
System.out.println();
}
}
}
def nLetterTriangle(n: int) -> None:
for i in range(n):
val = ord("A")
for j in range(i+1):
print(chr(val), end=" ")
val+=1
print()
Pattern 15
Problem - link
public class Solution {
public static void nLetterTriangle(int n) {
for(int i=0; i<n; i++){
char letter = 'A';
for(int j=0; j<n-i; j++){
System.out.print(letter+" ");
letter+=1;
}
System.out.println();
}
}
}
def nLetterTriangle(n: int):
for i in range(n):
letter = ord("A")
for j in range(n-i):
print(chr(letter), end=" ")
letter += 1
print()
Pattern 16
Problem - link
public class Solution {
public static void alphaRamp(int n) {
char letter = 'A';
for(int i=0; i<n; i++){
for(int j=0; j<i+1; j++){
System.out.print(letter+" ");
}
System.out.println();
letter+=1;
}
}
}
def alphaRamp(n: int) -> None:
value = ord("A")
for i in range(n):
for j in range(i+1):
print(chr(value),end=" ")
print()
value+=1
Pattern 17
Problem - link
public class Solution {
public static void alphaHill(int n) {
int spaces = 2*n -1-1;
for(int i=0; i<n; i++){
char letter = 'A';
// Left Spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
// Left letters
for(int j=0; j<(i+1); j++){
System.out.print(letter+" ");
letter+=1;
}
letter-=2;
// right letters
for(int j=0; j<i; j++){
System.out.print(letter+" ");
letter-=1;
}
// right spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
System.out.println();
spaces-=2;
}
}
}
def alphaHill(n: int):
spaces = (2*n - 1) - 1;
for i in range(n):
letter = ord("A")
# left spaces
for j in range(spaces):
print(" ",end="")
# left letters
for j in range(i+1):
print(chr(letter), end=" ")
letter+=1
letter-=2
# right letters
for j in range(i):
print(chr(letter), end=" ")
letter-=1
# right spaces
for j in range(spaces):
print(" ",end="")
print()
spaces-=2
Pattern 18
Problem - link
public class Solution {
public static void alphaTriangle(int n) {
for(int i=0; i<n; i++){
char letter = 'A';
letter+=(n-1);
for(int j=0; j<i+1; j++){
System.out.print(letter+" ");
letter-=1;
}
System.out.println();
}
}
}
def alphaTriangle(n: int):
for i in range(n):
value = ord("A") + n-1
for j in range(i+1):
print(chr(value), end=" ")
value-=1
print()
Pattern 19
Problem - link
public class Solution {
public static void symmetry(int n) {
int spaces = 0;
int stars = n;
for(int i=0; i<n; i++){
// print left stars
for(int j=0; j<stars; j++){
System.out.print("* ");
}
// print middle spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
// print right stars
for(int j=0; j<stars; j++){
System.out.print("* ");
}
stars-=1;
spaces+=2;
System.out.println();
}
stars+=1;
spaces-=2;
for(int i=0; i<n; i++){
// print left stars
for(int j=0; j<stars; j++){
System.out.print("* ");
}
// print middle spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
// print right stars
for(int j=0; j<stars; j++){
System.out.print("* ");
}
stars+=1;
spaces-=2;
System.out.println();
}
}
}
def symmetry(n: int):
stars = n
spaces = 0
for i in range(n):
#left stars
for j in range(stars):
print("*", end=" ")
#middle spaces
for j in range(spaces):
print(" ",end="")
#right stars
for j in range(stars):
print("*", end=" ")
print()
stars-=1
spaces+=2
stars+=1
spaces-=2
for i in range(n):
#left stars
for j in range(stars):
print("*", end=" ")
#middle spaces
for j in range(spaces):
print(" ",end="")
#right stars
for j in range(stars):
print("*", end=" ")
print()
stars+=1
spaces-=2
Pattern 20
Problem - link
public class Solution {
public static void symmetry(int n) {
int stars = 1;
int spaces = 2*n-2;
for(int i=0; i<n; i++){
// left stars
for(int j=0; j<stars; j++){
System.out.print("* ");
}
// middle spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
// right stars
for(int j=0; j<stars; j++){
System.out.print("* ");
}
System.out.println();
stars+=1;
spaces-=2;
}
stars-=2;
spaces+=4;
for(int i=0; i<n; i++){
// left stars
for(int j=0; j<stars; j++){
System.out.print("* ");
}
// middle spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
// right stars
for(int j=0; j<stars; j++){
System.out.print("* ");
}
System.out.println();
stars-=1;
spaces+=2;
}
}
}
def symmetry(n: int):
stars = 1
spaces = 2*n - 2
for i in range(n):
#left stars
for j in range(stars):
print("*",end=" ")
#middle spaces
for j in range(spaces):
print(" ",end="")
#right stars
for j in range(stars):
print("*",end=" ")
print()
stars+=1
spaces-=2
stars-=2
spaces+=4
for i in range(n):
#left stars
for j in range(stars):
print("*",end=" ")
#middle spaces
for j in range(spaces):
print(" ",end="")
#right stars
for j in range(stars):
print("*",end=" ")
print()
stars-=1
spaces+=2
Pattern 21
Problem - link
public class Solution {
public static void getStarPattern(int n) {
int spaces = n-2;
//Start line spaces
for(int i=0; i<n; i++){
System.out.print("*");
}
System.out.println();
for(int i=0; i<n-2; i++){
//stars
System.out.print("*");
//spaces
for(int j=0; j<spaces; j++){
System.out.print(" ");
}
//stars
System.out.print("*");
System.out.println();
}
//end line spaces
if(n!=1){
for(int i=0; i<n; i++){
System.out.print("*");
}
}
}
}
def getStarPattern(n: int) -> None:
#start line
for i in range(n):
print("*",end="")
print()
spaces = n-2
#Middle lines
for i in range(n-2):
#left stars
print("*",end="")
#middle spaces
for j in range(spaces):
print(" ",end="")
#right stars
print("*")
#end line
if n!=1:
for i in range(n):
print("*",end="")
Pattern 22
Problem - link
public class Solution {
public static void getNumberPattern(int n) {
int middle = n;
int middleLength = 2*n-1;
for(int i=0; i<n; i++){
//Left elements
for(int j=n; j>middle; j--){
System.out.print(j);
}
//middle elements (All same)
for(int j=0; j<middleLength; j++){
System.out.print(middle);
}
//right elements
for(int j=middle+1; j<n+1; j++){
System.out.print(j);
}
middle-=1;
middleLength-=2;
System.out.println();
}
middle+=2;
middleLength+=4;
for(int i=0; i<n-1; i++){
//Left elements
for(int j=n; j>middle; j--){
System.out.print(j);
}
//middle elements (All same)
for(int j=0; j<middleLength; j++){
System.out.print(middle);
}
//right elements
for(int j=middle+1; j<n+1; j++){
System.out.print(j);
}
middle+=1;
middleLength+=2;
System.out.println();
}
}
}
def getNumberPattern(n: int) -> None:
middle = n
middle_length = 2*n-1
for i in range(n):
# left elements (reverse)
for j in range(n,middle,-1):
print(j,end="")
# middle elements (all same)
for j in range(middle_length):
print(middle,end="")
# right elements
for j in range(middle+1, n+1):
print(j,end="")
print()
middle-=1
middle_length-=2
middle+=2
middle_length+=4
for i in range(n-1):
# left elements (reverse)
for j in range(n,middle,-1):
print(j,end="")
# middle elements (all same)
for j in range(middle_length):
print(middle,end="")
# right elements
for j in range(middle+1, n+1):
print(j,end="")
print()
middle+=1
middle_length+=2
Subscribe to my newsletter
Read articles from Chetan Datta directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Chetan Datta
Chetan Datta
I'm someone deeply engrossed in the world of software developement, and I find joy in sharing my thoughts and insights on various topics. You can explore my exclusive content here, where I meticulously document all things tech-related that spark my curiosity. Stay connected for my latest discoveries and observations.