Lunski's Clutter

This is a place to put my clutters, no matter you like it or not, welcome here.

0%

412. Fizz Buzz

Given an integer n, return a string array answer (1-indexed) where:

answer[i] == “FizzBuzz” if i is divisible by 3 and 5.
answer[i] == “Fizz” if i is divisible by 3.
answer[i] == “Buzz” if i is divisible by 5.
answer[i] == i (as a string) if none of the above conditions are true.

Example 1:

1
2
Input: n = 3
Output: ["1","2","Fizz"]

Example 2:

1
2
Input: n = 5
Output: ["1","2","Fizz","4","Buzz"]

Example 3:

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

這題不難,但很有意思。

自己的做法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
TC: O(n), SC: O(n)  
class Solution {
public static List fizzBuzz(int n) {
List ans = new ArrayList();
for (int i = 1; i <= n; i++) {
if (i % 15 == 0) {
ans.add("FizzBuzz");
} else if (i % 5 == 0) {
ans.add("Buzz");
} else if (i % 3 == 0) {
ans.add("Fizz");
} else {
ans.add(String.valueOf(i));
}
}
return ans;
}
}

有意思的做法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TC: O(n), SC: O(n)  
class Solution {
public List fizzBuzz(int n) {
List ans = new ArrayList<>();
for(int i = 1; i <= n; i++){
ans.add(
i % 15 == 0 ? "FizzBuzz" :
i % 5 == 0 ? "Buzz" :
i % 3 == 0 ? "Fizz" :
String.valueOf(i)
);
}
return ans;
}
}

第一次看到三元運算子疊加的寫法,簡潔優雅,謝謝指教。


如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)

Welcome to my other publishing channels