【Swift】LeedCode 最简分数

【Swift】LeedCode 最简分数,第1张

【Swift】LeedCode 最简分数

由于各大平台的算法题的解法很少有Swift的版本,小编这边将会出个专辑为手撕LeetCode算法题。新手撕算法。请包涵!!!

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

示例 1:

输入:n = 2
输出:["1/2"]
解释:"1/2" 是唯一一个分母小于等于 2 的最简分数。
示例 2:

输入:n = 3
输出:["1/2","1/3","2/3"]
示例 3:

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

输入:n = 1
输出:[]
class Solution {
    func simplifiedFractions(_ n: Int) -> [String] {
        var array:[String] = []
        for i in 1...n {
            for j in 1..<i {
                if (gcd(a:i,b:j) != 1) {
                    continue ;
                }
                //  print()
                array.append("\(j)/\(i)")
            }
        }
        return array
    }

    func gcd(a: Int, b: Int)->Int{
        return b != 0 ? gcd(a:b,b:a%b) : a
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/993437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存