retyrn
retyrn
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
retyrn的博客
全部文章
(共206篇)
题解 | #递增的产奶量# 模拟大整数加法
知识点大整数加法思路本质是给你一个用数组存的大整数,求+1是多少。我们可以模拟小学数学的加法的过程,从末尾开始+1,逐渐进位到最前面一位。实现上由于数组在前面添加一位需要复制数组,所以我们翻转数组来实现,首先添加一个0用于进位。最后消除掉后置的零后翻转回来即可。时间复杂度 n为大数的位数。AC C...
2023-08-10
0
313
题解 | #牛群迁徙# 线性DP
知识点dp思路状态表示 f[i] 表示到达每一个位置的最小步数状态转移是从f[i] 向每个 f[j] 转移 其中最后的结果是 f[j]时间复杂度为 AC code (C++) class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿...
2023-08-10
0
341
题解 | #农场智能分类系统# 哈希表
知识点哈希表思路如果两个字符串不一样长,则是不可以的。从左到右依次匹配s的字母和t的字母,同时用哈希表记录s的字母和t的字母的对应关系,以及t中被占用的字母。在匹配过程中出现矛盾则返回“NO”。时间复杂度 AC Code(C++) class Solution { public: /** ...
2023-08-10
0
344
题解 | #牛群智能指导系统# 哈希表
知识点哈希表思路把plan按照空格分割成字符串数组a.如果两个字符串不一样长,则是不可以的。从左到右依次匹配s的字母和a的字符串,同时用哈希表记录s的字母和a的字符串的对应关系,以及a的被占用的字符串。在匹配过程中出现矛盾则返回 False。时间复杂度 AC Code (Python) from c...
2023-08-10
0
365
题解 | #牛群保卫战# 双指针
知识点双指针思路维护两个指针,右指针表示枚举每一段的末尾,每次向后移动一位,左指针每次移动到合法的最左端即可,之后如果满足条件则更新答案。时间复杂度 AC Code(C++) class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修...
2023-08-10
0
328
题解 | #农场智能管理系统# 计数
知识点计数思路对allocations和requirements的字母个数进行计数,如果allocations的每个字母都比requirements多则为“YES”时间复杂度 AC Code(C++) class Solution { public: /** * 代码中的类名、方法...
2023-08-10
0
305
题解 | #牛牛计算器# 栈
知识点栈思路题目有问题,居然能出现非法字符串和错误的答案,离大谱。我们建立一个数栈和符号栈,每次运算把数栈的顶端两个数抛出,在抛出符号位,进行运算。由于乘法的优先级更高,我们用一个map定义乘法和加减法的运算等级。出现负数的时候一定是符号在首位或者前面有左括号,根据这点将负数和减号区分开。AC Co...
2023-08-10
0
406
题解 | #牛群编号的回文顺序II# Manacher算法
知识点Manacher算法思路很经典的求最长回文子串的问题,一般来说有三种办法动态规划 时间复杂度 中心扩展 时间复杂度 Manacher算法 时间复杂度 这道题的范围 显然不可以使用的算法,但是Manacher算法的难度远超面试难度。以下代码为链表形式的Manacher算法。时间复杂度 AC C...
2023-08-10
0
296
题解 | #牛的编号异或问题# 前缀异或和
知识点前缀异或和思路题目样例有问题,给出5,7要求的是6^7=1即[left+1, right]的区间异或和我们可以把区间异或和转化为前缀异或和的差,所以只需要实现函数get(x)来求0到x的异或和我们观察到结果是具有规律性的:当x%4为0时结果是x当x%4为1时结果是1当x%4为2时结果是x+1当...
2023-08-09
0
466
题解 | #寻找最合适的生育区域# 双指针
知识点双指针思路维护双指针,右指针每次向右移动一次,表示当前的末尾位置,左指针移动到满足最大元素和最小元素的差值小于等于k的最左位置,更新答案。维护最大最小值可以用multiset或者map实现。时间复杂度是 AC Code(C++) class Solution { public: /**...
2023-08-09
0
318
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页