摘要:
最开始做的时候,暴力解法结果不管怎么剪枝,还是超时了。 后来看到了卡哥的方法,学到了单调队列,其实就是自定义队列。用deque来实现。 有三个关键点:pop,push,front. pop,如果遍历的元素等于队头元素,则头删。 push,把比遍历元素小的都进行尾部删。 front,就是普通的查找队头 阅读全文
posted @ 2024-01-14 22:00
yun-che
阅读(13)
评论(0)
推荐(0)
摘要:
主要采用的是库函数的方法,isdigit,stoi. isdigit可以判断单个字符是否是数字,stoi可以将多个字符(多位数,复数)转换成数字。 判断数字可以结合isdigit给出对应的函数。 点击查看代码 bool isNumber(const std::string& token) { // 阅读全文
posted @ 2024-01-14 17:01
yun-che
阅读(80)
评论(0)
推荐(0)
摘要:
最开始想的是暴力解法,但总是超时,后来问了chatgp,可以通过用substr来缩短时间。勉强通过,耗时还是很大。 点击查看代码 class Solution { public: bool repeatedSubstringPattern(string s) { int count=1; strin 阅读全文
posted @ 2024-01-14 10:54
yun-che
阅读(22)
评论(0)
推荐(0)
摘要:
首先有两步,1求next数组,2进行比对。 我这种是数组后移的方法,即第一个数是-1。 步骤就是如果前后缀不相等,j就要后撤,要后撤因此要有范围。j>=0; 如果相等就j++; 每一次循环求出对应的next[i]。 要注意的点是因为我这是数组后移的方法,因此比较用next[j+1]比较。 2比对跟求 阅读全文
posted @ 2024-01-14 09:00
yun-che
阅读(22)
评论(0)
推荐(0)

浙公网安备 33010602011771号