LeetCode中等题之最简分数
生活随笔
收集整理的這篇文章主要介紹了
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
輸出:[]
提示:
1 <= n <= 100
來源:力扣(LeetCode)
解題思路
??一個最簡的分數,分子分母是沒有除了1之外的公因數的,所以可以利用求最大公因數來判斷是否是最簡分數,如果分子分母最大公因數是1,那么就是最簡分數,
class Solution:def simplifiedFractions(self, n: int) -> List[str]:if n==1:return []else:temp=['1/'+str(i) for i in range(2,n+1)]for i in range(n,1,-1):for j in range(2,i):if math.gcd(i,j)==1:temp.append(str(j)+'/'+str(i))return temp
總結
以上是生活随笔為你收集整理的LeetCode中等题之最简分数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之将句子排序
- 下一篇: LeetCode简单题之检查某单词是否等