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