【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
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)