LeetCode Daily 27

2022-2-10 T.1447 最简分数

 

题目描述:

给你一个整数 n ,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于  n 的 最简 分数 。分数可以以 任意 顺序返回。

 

示例:

输入:n = 4
输出:["1/2","1/3","1/4","2/3","3/4"]
解释:"2/4" 不是最简分数,因为它可以化简为 "1/2" 。

 

思路:

分子分母最大公约数为1时则为最简分数。

 

代码:

class Solution {
public:
    void cac(int m, vector<string>& ans) {
        for(int i = 1; i < m; i++){
            if(gcd(i, m) == 1) 
                ans.push_back(to_string(i) + "/" + to_string(m));
        }
    }

    vector<string> simplifiedFractions(int n) {
        vector<string> ans;
        for(int i = 2; i <= n; i++)
            cac(i, ans);
        return ans;
    }
};

 

上一篇:Leetcode刷题入门须知


下一篇:Servlet常见方法与生命周期(HttpService,Cookie,Httpsession)