40% DISCOUNT LIMITED SEATS
Java Full Stack + AI Industrial Training 2026
Expert MNC Mentors • Industrial Roadmap • 10 Seats Left
GitHub
Month 01: Lab Setup

Java & GitHub

  • Java 21 & IntelliJ AI Mastery
  • GitHub Team Industrial Flow
  • MNC Standard VS Code Setup
Logic
Month 02: Logic Lab

Logic Mastery

  • Complex DSA with MNC Experts
  • Telugu & English Logic Bridge
  • Daily Problem Solving Drills
Backend
Month 03: API Hub

Spring & SQL

  • Spring Boot 3 Microservices
  • Postman API Automated Testing
  • PostgreSQL DB Architecture
Frontend
Month 04: UI Factory

React & Tailwind

  • React 18 & AI Component Dev
  • Industrial Tailwind UI Library
  • Redux State Management
Cloud
Month 05: Deploy

AWS & Jira Hub

  • Cloud Deploy on Real AWS
  • Agile Scrum with Jira Tools
  • Jenkins CI/CD Pipeline
Success
Month 06: Result

Job Offer Letter

  • Tier-1 MNC Direct Referrals
  • Salary Negotiation Strategy
  • High CTC Placement Pipeline

LeetCode 412: Fizz Buzz Problem Explained with 3 Java Solutions [Beginner-Friendly]

Yogi Siddeswara 0

LeetCode 412: Fizz Buzz

1. Actual Question

Problem Statement: Write a program that outputs the numbers from 1 to n. But for multiples of three, output "Fizz" instead of the number, and for the multiples of five, output "Buzz". For numbers that are multiples of both three and five, output "FizzBuzz".

Example:

Input:
n = 15

Output:
[
 "1",
 "2",
 "Fizz",
 "4",
 "Buzz",
 "Fizz",
 "7",
 "8",
 "Fizz",
 "Buzz",
 "11",
 "Fizz",
 "13",
 "14",
 "FizzBuzz"
]
    

2. How to Solve the Question

  1. Loop through numbers from 1 to n.
  2. Use conditions to check divisibility:
    • If divisible by both 3 and 5, add "FizzBuzz" to the result.
    • If divisible by 3, add "Fizz".
    • If divisible by 5, add "Buzz".
    • Otherwise, add the number as a string.
  3. Store the results in a list and return it.

3. Approaches


Approach 1: Basic Iterative Solution

Check divisibility using the % operator and append the correct string to the result list.


import java.util.ArrayList;
import java.util.List;

public class FizzBuzz {
    public List<String> fizzBuzz(int n) {
        List<String> result = new ArrayList<>();
        
        for (int i = 1; i <= n; i++) {
            if (i % 3 == 0 && i % 5 == 0) {
                result.add("FizzBuzz");
            } else if (i % 3 == 0) {
                result.add("Fizz");
            } else if (i % 5 == 0) {
                result.add("Buzz");
            } else {
                result.add(String.valueOf(i));
            }
        }
        
        return result;
    }

    public static void main(String[] args) {
        FizzBuzz fb = new FizzBuzz();
        System.out.println(fb.fizzBuzz(15));
    }
}

    


Approach 2: String Concatenation

Instead of checking divisibility separately, build the string by concatenating "Fizz" and "Buzz" when conditions match.


import java.util.ArrayList;
import java.util.List;

public class FizzBuzzConcat {
    public List<String> fizzBuzz(int n) {
        List<String> result = new ArrayList<>();
        
        for (int i = 1; i <= n; i++) {
            StringBuilder sb = new StringBuilder();
            
            if (i % 3 == 0) sb.append("Fizz");
            if (i % 5 == 0) sb.append("Buzz");
            
            if (sb.length() == 0) {
                result.add(String.valueOf(i));
            } else {
                result.add(sb.toString());
            }
        }
        
        return result;
    }

    public static void main(String[] args) {
        FizzBuzzConcat fb = new FizzBuzzConcat();
        System.out.println(fb.fizzBuzz(15));
    }
}

    


Approach 3: HashMap to Handle Rules

Store the rules (3 -> "Fizz", 5 -> "Buzz") in a HashMap to make it easy to add more rules in the future.


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FizzBuzzHashMap {
    public List<String> fizzBuzz(int n) {
        List<String> result = new ArrayList<>();
        Map<Integer, String> fizzBuzzMap = new HashMap<>();
        fizzBuzzMap.put(3, "Fizz");
        fizzBuzzMap.put(5, "Buzz");
        
        for (int i = 1; i <= n; i++) {
            StringBuilder sb = new StringBuilder();
            
            for (Integer key : fizzBuzzMap.keySet()) {
                if (i % key == 0) {
                    sb.append(fizzBuzzMap.get(key));
                }
            }
            
            if (sb.length() == 0) {
                result.add(String.valueOf(i));
            } else {
                result.add(sb.toString());
            }
        }
        
        return result;
    }

    public static void main(String[] args) {
        FizzBuzzHashMap fb = new FizzBuzzHashMap();
        System.out.println(fb.fizzBuzz(15));
    }
}

    


Post a Comment

0 Comments