
算法题解
文章平均质量分 74
云辰星.
热爱技术,热爱分享
展开
-
【2024】牛客周赛 Round 29 C-E (py版)
现在小红想让你求出f(1),f(2)...f(n)f(1),f(2)...f(n)f(1),f(2)...f(n)的值,你能帮帮她吗?任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积N=P1a1P2a2P3a3......Pnan,这里P1原创 2024-01-22 11:21:31 · 1198 阅读 · 1 评论 -
【算法刷题-第1题】单词分析-python
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。原创 2023-10-11 23:37:05 · 144 阅读 · 0 评论 -
【算法刷题-第11题】二进制字符串前缀一致的次数
给你一个长度为n、下标从开始的二进制字符串,所有位最开始都是0。我们会按步翻转该二进制字符串的所有位(即,将0变为1给你一个下标从开始的整数数组flips,其中flips[i]表示对应下标i的位将会在第i步翻转。二进制字符串需满足:在第i步之后,在区间[1, i]内的所有位都是 1 ,而其他位都是 0。返回二进制字符串在翻转过程中的次数。2二进制字符串最开始是 "00000"。执行第 1 步:字符串变为 "00100" ,不属于前缀一致的情况。原创 2023-11-14 13:35:30 · 425 阅读 · 0 评论 -
【算法刷题-第10题】元素和最小的山形三元组 II-力扣周赛
给你一个下标从开始的整数数组nums。如果下标三元组(i, j, k)满足下述全部条件,则认为它是一个请你找出nums中的山形三元组,并返回其。如果不存在满足条件的三元组,返回-1。原创 2023-10-22 23:05:51 · 173 阅读 · 0 评论 -
【算法刷题-第9题】范围内最接近的两个质数-python-力扣
给你两个正整数left和right,请你找到两个整数num1和num2nums1nums2请你返回正整数数组。如果有多个整数对满足上述条件,请你返回nums1最小的质数对。如果不存在符合题意的质数对,请你返回[-1, -1]。如果一个整数大于1,且只能被1和它自己整除,那么它是一个质数。[11,13]10 到 19 之间的质数为 11 ,13 ,17 和 19。质数对的最小差值是 2 ,[11,13] 和 [17,19] 都可以得到最小差值。由于 11 比 17 小,我们返回第一个质数对。原创 2023-10-21 19:31:35 · 130 阅读 · 0 评论 -
【算法刷题-第8题】力扣-同积元组
9. 当然别忘了,前面是只有两组数据的和为12,也就是C22,如果我们有三组数相乘都等于同一个数的话,就需要从那三组数选两组出来,这样才满足a *b = c* d,也就是C32,最后就是C32 * C21 * A22 * A22。也就是12的值有2个,然后利用组合,我们有两组数字,要把这两组数字放在四个位置,并且要符合{a,b,c,d},于是要从这两组数据开始组合,就是C22,如果有n组数据,就是Cn2,从n个选2个出来进行组合。4. 于是我们通过哈希表也就是字典的形式,键为总和,值为数量。原创 2023-10-19 13:39:43 · 115 阅读 · 0 评论 -
【算法刷题-第7题】执行k次操作后的最大分数-Python
给你一个下标从开始的整数数组nums和一个整数k。你的为0。在一步inums[i]nums[i]返回在执行k次操作后,你可能获得的最大分数。向上取整函数ceil(val)的结果是大于或等于val的最小整数。50对数组中每个元素执行一次操作。最后分数是 10 + 10 + 10 + 10 + 10 = 50。17可以执行下述操作:第 1 步操作:选中 i = 1 ,nums 变为 [1,,3,3,3]。分数增加 10。第 2 步操作:选中 i = 1 ,nums 变为 [1,,3,3,3]。原创 2023-10-18 21:39:18 · 141 阅读 · 0 评论 -
【算法刷题-第6题】K倍区间-python
cnt += v * (v-1) // 2: 这个地方主要就是多项式的一个计算,因为我们现在有很多个余数相同的数,要从里面任意找两个数进行组合,所以就是Cm2,然后通过Cmn = m!),推导出Cm2 = v * (v-1) // 2。3. 于是直接先把为0的全部加一点,但是有一点需要注意,为0的也可以相互之间减,然后得到k的倍数(前缀和两个位置相减 = 这一段的和)1. 最开始我直接前缀和+暴力遍历,只能过28%的数据。然后 (7-3)%2 =0。原创 2023-10-17 10:08:25 · 225 阅读 · 0 评论 -
【算法刷题-第5题】蜂巢-Python
蜂巢由六边形拼接而成,定义蜂巢中的方向:0表示正西方向,1表示西偏北60°,2表示东偏北60°,3表示正东,4表示东偏南60°,5表示西偏南60°。对于给定的一点O,以O为原点定义坐标系,如果一个点A由O点先向d方向走p步再向(d + 2) mod 6方向(d的顺时针120°向)走q步到达,则这个点的坐标定义为(d, p, q)。在蜂窝中,一个点的坐标可能有多种。图给出了点B(0, 5, 3)和点C(2, 3, 2)的示意。原创 2023-10-16 19:26:45 · 263 阅读 · 1 评论 -
【算法刷题-第4题】付账问题-python
所有人带的钱的总数是足够付账的。如果这个地方判断 a[i] < avg,那么会出现一个问题,也就是当前这个数或许比总的平均数要大,但是在计算后面的总体平均数的时候,你当前这个数不一定比剩下钱的平均数要大,此时如果再付它所有钱,那么肯定是不正确的。5. 然后最开始的时候,就应该排序,这样我们去遍历的时候,就可以很好的实现上面的两种方式,也就是先让钱不够的给付了来,然后再去付剩下的平均数。,也就是说,以这个人的钱当平均数的时候,钱是不够的,所以要全部付,也就是从局部接近平均数推向整体接近平均数。原创 2023-10-16 13:08:27 · 187 阅读 · 1 评论 -
【算法刷题-第3题】分组---蓝桥周赛第1场
蓝桥周赛算法原创 2023-10-15 20:12:51 · 119 阅读 · 1 评论 -
【算法刷题-第2题】队列安排-python
5. 接下来我们就开始我们的入队问题啦,判断一下是插入左边还是右边,同时我们输入的k值,可以一下子就找到它的结点,然后再进行结点的插入(链表相关的知识,不会链表插入的可以去看看)。3. 我们可以先定义一个结点,这个结点有三个参数,一个数据,一个指向前一个结点的指针,和一个指向下一个结点的指针,以及一个判断值sign(这个sign再后面删除操作的时候会用到)接下来 M 行,每行一个正整数 x,表示将 x 号同学从队列中移去,如果 x 号同学已经不在队列中则忽略这一条指令。原创 2023-10-12 16:46:49 · 169 阅读 · 0 评论 -
【AcWing每日一题】孤独的照片
孤独的照片原创 2023-01-01 13:56:17 · 302 阅读 · 0 评论 -
【C++】题解 | [NOIP2011]铺地毯
铺地毯问题原创 2022-12-29 11:13:56 · 2491 阅读 · 1 评论 -
【C++/Python】轻松掌握——杨辉三角问题
杨辉三角是一个经典的数学概念,用来描述一个二项式系数的三角形,其中每一行都是上一行的两个相邻数之和。原创 2022-12-11 14:28:28 · 1326 阅读 · 0 评论 -
【题解】多项式输出问题c++版(附有Python版本)
关于模拟中多项式输出的问题,用python/c++进行模拟解决原创 2022-11-30 18:22:54 · 1477 阅读 · 0 评论