1447. Simplified Fractions

Difficulty:
Related Topics:
Similar Questions:

    Problem

    Given an integer n, return **a list of all *simplified* fractions between 0 and 1 (exclusive) such that the denominator is less-than-or-equal-to **n. You can return the answer in *any order*.

      Example 1:

    Input: n = 2
    Output: ["1/2"]
    Explanation: "1/2" is the only unique fraction with a denominator less-than-or-equal-to 2.
    

    Example 2:

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

    Example 3:

    Input: n = 4
    Output: ["1/2","1/3","1/4","2/3","3/4"]
    Explanation: "2/4" is not a simplified fraction because it can be simplified to "1/2".
    

      Constraints:

    Solution (Java)

    class Solution {
        public List<String> simplifiedFractions(int n) {
            List<String> result = new ArrayList<>();
            if (n == 1) {
                return result;
            }
            StringBuilder str = new StringBuilder();
            for (int denom = 2; denom <= n; denom++) {
                for (int num = 1; num < denom; num++) {
                    if (checkGCD(num, denom) == 1) {
                        result.add(str.append(num).append("/").append(denom).toString());
                    }
                    str.setLength(0);
                }
            }
            return result;
        }
    
        private int checkGCD(int a, int b) {
            if (a < b) {
                return checkGCD(b, a);
            }
            if (a == b || a % b == 0 || b == 1) {
                return b;
            }
            return checkGCD(a % b, b);
        }
    }
    

    Explain:

    nope.

    Complexity: