Maokt
Maokt
全部文章
题解
归档
标签
去牛客网
登录
/
注册
Maokt的知识小河
持续学习,共同成长
全部文章
/ 题解
(共108篇)
题解 | #能被多个质数整除的第K长子段#
算法思想一:暴力法 解题思路: 根据题意: 1、首先我们准备了2到数组最大值中的所有质数,记录到primes中。 2、然后暴力遍历每一个数对,每次对于数对区间中的元素,对每一个primes中的质数,查看是否能整除区间中所有的元素,如果可以计数加1,当计数不小于时,就可以记录这...
能被多个质数整除的第K长子段
2021-09-10
1
652
题解 | #扩散#
算法思想一:直接模拟 解题思路: 主要是通过构建图的方式,构建一棵树。 遍历m次增加的机会,每次找到要增加节点的下标,将其值加1,然后遍历与下标相连的其他节点,值都加1. 代码展示: C++版本 class Solution { publi...
扩散
2021-08-22
2
641
题解 | #换座位#
算法思想一:哈希表 解题思路: 根据题意可知,三个人的位置为123,则排列方式有6中:123,132,213,231,312,321,因此只需要检查这六种预定结果需要变换多少次,取其最小值即可,使用到了哈希表记录每个数字出现的次数 检查每个预定结果需要多少次交换的时候,需要调用ge...
换座位
2021-08-15
1
800
题解 | #切割成本#
算法思想一:动态规划 解题思路: 可以用动态规划解决这个问题, 1、创建辅助数组dp,其中用 表示 之间(前闭后开)的切割点的最小成本,只要完善dp数组,最后 就是要求的最小切割成本和。 2、通过在原切割点数组中加入首尾点,然后一起排序。然后从0结点开始找 i 到 j 的子区间...
切割成本
2021-08-08
1
559
题解 | #取球放球#
算法思想一:贪心 解题思路: 利用贪心思想,利用一个辅助数组每次操作前记录相邻两个数组之差,并找到差的最大值的下标。这种时候我们有两种选择:较大的那个数减少,或者较小的那个数增大,每次操作时需要盘旋小数和大数谁在前,需要判断边界,需要判断前后一个数更改谁使最大值最小。 dp记录相邻...
取球放球
2021-08-08
1
834
题解 | #MagicString#
算法思想一:枚举 解题思路: 遍历S1的每一个位置使用substr函数进行同构操作,每一个同构串在其中找到S2出现的次数,如果次数更多直接更新,如果次数相等则比较字典序后更新。 图解: 代码展示: C++版本 class Solution { public: ...
MagicString
2021-08-07
1
624
题解 | #旅行Ⅰ#
算法思想一:暴力法 解题思路: 对于求解本题牛妹最多能到多少个城市去旅游,我们可以直接模拟牛妹的访问过程,首先我们定义city,dp,flag数组,分别记录城市之间的次序关系,每个城市的前序访问和该城市有无被访问过。然后我们开始进行模拟访问,首先没有前序城市的城市进入队列,每次花费最小或...
旅行Ⅰ
2021-08-07
1
667
题解 | #旅行Ⅱ#
算法思想一:递归+记忆化递归 解题思路: 可以对种状态利用二进制掩码形式逐一对其递归进行搜索,每次查看经费和前后续关系。搜索函数中为当前的状态数,为当前最大这段序列可访问的最大城市数,递归的时候减小经费,改变与即可进入子问题。为了防止递归处理的问题太大,可以用数组dp记录所有的前面计算过...
旅行Ⅱ
2021-08-07
1
719
题解 | #扔骰子#
算法思想一:有序哈希 解题思路: 分别计算牛妹和牛牛的得分,根据得分进行判断结果: 计算方式: 1、首先定义一个哈希表 set,用于存放所有可能的累加和,并保证累加和是有序的。 2、然后遍历整个数组,将可能的累加和放入哈希表中 set。 3、最后遍历 set,看其中是否包含不...
扔骰子
2021-08-07
3
664
题解 | #生产口罩#
算法思想一:动态规划 解题思路: 状态定义:表示i条生产线,j名员工每天产多少口罩。状态初始化:所有状态值初始化为0。状态转移:每增加一条生产线,当前增加的生产线有两种选择,一种是选择闲置,另一种是在对应策略数组选择一个最佳策略。如果选择闲置,则相较于之前没有变化,即;如果选择某种策略,则需要当前人...
生产口罩
2021-08-07
1
707
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页