力扣 412.Fizz Buzz题解

今天刚学完容器List,就去刷力扣的题目,正好遇到了这题关于集合的应用的题目

力扣

看完题目,我的思路其实就很简单,运用list集合,然后用暴力解法,将集合循环一遍:

  1. 如果i是 3 的倍数,则将 "Fizz" 插入到a[i];
  2. 如果i是 5 的倍数,则将 "Buzz" 插入到a[i];
  3. 如果是3和5的倍数,就将"FizzBuzz"插入到a[i];
  4. 否则,直接将i转换为字符串的形式插入到a[i]中
class Solution {
    public List fizzBuzz(int n) {
        List a = new ArrayList<>();
        for (Integer i = 1; i <= n; i++) {
            if (i % 3 == 0 && i % 5 == 0) {
                a.add("FizzBuzz");
            } else if (i % 5 == 0) {
                a.add("Buzz");
            } else if (i % 3 == 0) {
                a.add("Fizz");
            } else {
                a.add(i.toString());
            }
        }
        return a;
    }
}

复杂度分析:

时间复杂度:O(n)。需要遍历从 11 到 nn 的每个整数

空间复杂度:O(1)。

其实思路就很简单粗暴,然而看了一下,好像也没有别的比较好一点的解法,这是第一次自己题解出来的,嘿嘿嘿~

你可能感兴趣的:(java)