Welcome to Subscribe On Youtube

Formatted question description: https://leetcode.ca/all/412.html

Level

Easy

Description

Write a program that outputs the string representation of numbers from 1 to n.

But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

Example:

n = 15,

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

Solution

For each integer from 1 to n, use a string to represent the number.

For each number, do the following operations.

  • If it is divisible by 3, append “Fizz” to the string representation.
  • If it is divisible by 5, append “Buzz” to the string representation.
  • If the string representation is empty after checking whether it is divisible by 3 or 5, set the string representation to be the number.

Note thant checking whether the number is divisible by 3 and checking whether the number is divisible by 5 are both done and it is possible that a number is both divisible by 3 and 5.

Add the string representation of each number to the result list and return the result list.

  • public class Solution {
        public List<String> fizzBuzz(int n) {
            List<String> list = new ArrayList<>();
            for (int i = 1; i <= n; i++) {
                if (i % 3 == 0 && i % 5 == 0) {
                    list.add("FizzBuzz");
                } else if (i % 3 == 0) {
                    list.add("Fizz");
                } else if (i % 5 == 0) {
                    list.add("Buzz");
                } else {
                    list.add(String.valueOf(i));
                }
            }
            return list;
        }
    }
    
    ############
    
    class Solution {
        public List<String> fizzBuzz(int n) {
            List<String> ans = new ArrayList<>();
            for (int i = 1; i <= n; ++i) {
                String s = "";
                if (i % 3 == 0) {
                    s += "Fizz";
                }
                if (i % 5 == 0) {
                    s += "Buzz";
                }
                if (s.length() == 0) {
                    s += i;
                }
                ans.add(s);
            }
            return ans;
        }
    }
    
  • // OJ: https://leetcode.com/problems/fizz-buzz/
    // Time: O(N)
    // Space: O(1)
    class Solution {
    public:
        vector<string> fizzBuzz(int n) {
            vector<string> ans;
            for (int i = 1; i <= n; ++i) {
                if (i % 3 == 0 && i % 5 == 0) ans.push_back("FizzBuzz");
                else if (i % 3 == 0) ans.push_back("Fizz");
                else if (i % 5 == 0) ans.push_back("Buzz");
                else ans.push_back(to_string(i));
            }
            return ans;
        }
    };
    
  • class Solution:
        def fizzBuzz(self, n: int) -> List[str]:
            ans = []
            for i in range(1, n + 1):
                if i % 15 == 0:
                    ans.append('FizzBuzz')
                elif i % 3 == 0:
                    ans.append('Fizz')
                elif i % 5 == 0:
                    ans.append('Buzz')
                else:
                    ans.append(str(i))
            return ans
    
    ############
    
    class Solution(object):
      def fizzBuzz(self, n):
        """
        :type n: int
        :rtype: List[str]
        """
        ans = []
        for i in range(1, n + 1):
          stmt1 = i % 3 == 0
          stmt2 = i % 5 == 0
          if stmt1 and stmt2:
            ans.append("FizzBuzz")
          elif stmt1:
            ans.append("Fizz")
          elif stmt2:
            ans.append("Buzz")
          else:
            ans.append(str(i))
    
        return ans
    
    
  • func fizzBuzz(n int) []string {
    	var ans []string
    	for i := 1; i <= n; i++ {
    		s := &strings.Builder{}
    		if i%3 == 0 {
    			s.WriteString("Fizz")
    		}
    		if i%5 == 0 {
    			s.WriteString("Buzz")
    		}
    		if s.Len() == 0 {
    			s.WriteString(strconv.Itoa(i))
    		}
    		ans = append(ans, s.String())
    	}
    	return ans
    }
    
  • const fizzBuzz = function (n) {
        let arr = [];
        for (let i = 1; i <= n; i++) {
            if (i % 15 === 0) arr.push('FizzBuzz');
            else if (i % 3 === 0) arr.push('Fizz');
            else if (i % 5 === 0) arr.push('Buzz');
            else arr.push(`${i}`);
        }
        return arr;
    };
    
    
  • class Solution {
        /**
         * @param Integer $n
         * @return String[]
         */
        function fizzBuzz($n) {
            $rs = [];
            for ($i = 1; $i <= $n; $i++) {
                if ($i % 3 != 0 && $i % 5 != 0) {
                    array_push($rs, strval($i));
                } else if ($i % 3 == 0 && $i % 5 != 0) {
                    array_push($rs, "Fizz");
                } else if ($i % 3 != 0 && $i % 5 == 0) {
                    array_push($rs, "Buzz");
                } else {
                    array_push($rs, "FizzBuzz");
                }
            }
            return $rs;
        }
    }
    

All Problems

All Solutions