878. Nth Magical Number - LeetCode Solution


Math Binary Search

Python Code:

class Solution:
    def nthMagicalNumber(self, N: int, A: int, B: int) -> int:

        import math
        lcm= A*B // math.gcd(A,B)
        l,r=2,10**14
        while l<=r:
            mid=(l+r)//2
            n = mid//A+mid//B-mid//lcm
            if n>=N:
                r=mid-1
           
            else:
                l=mid+1
        return l%(10**9+7)


Comments

Submit
0 Comments
More Questions

870A - Search for Pretty Integers
1174A - Ehab Fails to Be Thanos
1169A - Circle Metro
780C - Andryusha and Colored Balloons
1153A - Serval and Bus
1487C - Minimum Ties
1136A - Nastya Is Reading a Book
1353B - Two Arrays And Swaps
1490E - Accidental Victory
1335A - Candies and Two Sisters
96B - Lucky Numbers (easy)
1151B - Dima and a Bad XOR
1435B - A New Technique
1633A - Div 7
268A - Games
1062B - Math
1294C - Product of Three Numbers
749A - Bachgold Problem
1486B - Eastern Exhibition
1363A - Odd Selection
131B - Opposites Attract
490C - Hacking Cypher
158B - Taxi
41C - Email address
1373D - Maximum Sum on Even Positions
1574C - Slay the Dragon
621A - Wet Shark and Odd and Even
1395A - Boboniu Likes to Color Balls
1637C - Andrew and Stones
1334B - Middle Class