LeetCode-878. 第 N 个神奇数字【数学,二分查找,找规律】
创始人
2024-02-07 19:43:32
0

LeetCode-878. 第 N 个神奇数字【数学,二分查找,找规律】

  • 题目描述:
  • 解题思路一:二分答案+容斥原理。给定一个上下界,然后依次增大下界或者减小上界,直到只剩一个答案。容斥原理是,加上两个集合,然后减去两个集合的交集。
  • 解题思路二:找规律
  • 解题思路三:0

题目描述:

一个正整数如果能被 a 或 b 整除,那么它是神奇的。

给定三个整数 n , a , b ,返回第 n 个神奇的数字。因为答案可能很大,所以返回答案 对 109 + 7 取模 后的值。

示例 1:

输入:n = 1, a = 2, b = 3
输出:2

示例 2:

输入:n = 4, a = 2, b = 3
输出:6

提示:

1 <= n <= 10^9
2 <= a, b <= 4 * 10^4
https://leetcode.cn/problems/nth-magical-number/description/

解题思路一:二分答案+容斥原理。给定一个上下界,然后依次增大下界或者减小上界,直到只剩一个答案。容斥原理是,加上两个集合,然后减去两个集合的交集。

class Solution {const long MOD =1e9+7;
public:int nthMagicalNumber(int n, int a, int b) {long lcm=std::lcm(a,b);//最小公倍数long left=0,right=(long)min(a,b)*n;//开区间(left,right),在right情况下必有n个神奇数字。while(left+1//开区间不为空long mid=left+(right-left)/2;if (mid/a+mid/b-mid/lcm>=n)//减去mid/lcm是a和b重复统计的个数right=mid;//范围缩小到(left,mid)else left=mid;//范围缩小到(mid,right)}return right%MOD;}
};

时间复杂度:O(log(min(a,b)*n))
空间复杂度:O(1)
参考链接

解题思路二:找规律

class Solution {
public:const int MOD = 1e9 + 7;int nthMagicalNumber(int n, int a, int b) {int c = lcm(a, b);int m = c / a + c / b - 1;int r = n % m;int res = (long long) c * (n / m) % MOD;if (r == 0) {return res;}int addA = a, addB = b;for (int i = 0; i <  r - 1; ++i) {if (addA < addB) {addA += a;} else {addB += b;}}return (res + min(addA, addB) % MOD) % MOD;}
};

时间复杂度:O(a+b)
空间复杂度:O(1)
在这里插入图片描述
参考链接

解题思路三:0


相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...