- 博客(5)
- 收藏
- 关注
原创 主持人调度
我们的贪心策略应该是每次选取结束时间最早的活动。直观上也很好理解,按这种方法选择相容活动为未安排活动留下尽可能多的时间。首先,一天有n个活动,为了最少消耗主持人,是不是我们应该希望这些活动很听话,从早到晚一个接一个比如说【1,3】到【4,5】再到【8,16】等等。当一个主持人从早到晚最多主持多少个节目,剩下的交给其他主持人。让我们想想,当1号主持人主持最多节目,是不是得这些节目乖乖听话,把区间最合适,并且区间数量最多的给主持人1号。当从1点到4点,第二个活动3点到6点是不是就会增加主持人的个数。
2023-12-11 17:33:04 67 1
原创 动态规划--编辑距离
增添:dp[new][nowcoder]=dp[new][nowcode]+1//就是在str2后面加了一个r然后两边抵消掉了;同理当str1为空,str1变成str2需要1,2,3步。即,我们可以想想,当str1是空的时候,str2含有元素。其中dp[ i ] [ j ]表示str1的前i个字符和str2的前j个字符变成一样需要的步骤数。好的,我们来看看,当str2为空,即new这三个字符变成空的。当str1,只有no时,是不是变成str2需要两步。当str1,只有n时,是不是变成str2需要1步。
2023-12-09 21:31:55 30
原创 动态规划--小青蛙
思考:当要跳到n阶时,可以从n-2一次跳两阶,从n-1一次跳一阶。跳台阶_牛客题霸_牛客网 (nowcoder.com)第几阶: 0 1 2 3 4 5。跳的方法:1 1 2 3 5 8。那么就抽想成为斐波那契数列。
2023-12-09 17:03:59 20
原创 回溯--N皇后
思路:因为从每一排开始放,每一排最多一个Q,而且列,撇,捺都不能有,那么一开始一个一个放然后直接判断肯定超时不行,所以可以采用回溯,当前我们的算法是每行每行进行摆放。当然有关于更加快速的算法,例如判断撇捺时,不要一个一个,一排一排,当是判断撇时,可以横坐标加纵坐标是相同的;当判断捺,横纵坐标的差值相同。这个后面再去研究研究。
2023-12-09 16:38:42 19
原创 单调栈--最大矩形
通过先读取,当栈顶的元素的值小与当前的元素,那么该元素压入栈中;当栈顶的值小于当前的值,那么弹出栈顶的值并计算最大面积(一直判断弹出,直到该元素大与栈顶的值),当空栈时,即为栈顶的值为0,继续判断。1.可以直接暴力做题,从左到右遍历每一列上的每一个,但超时不多赘述。
2023-12-09 14:52:12 38
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人