摘要: void kmp() { n = strlen(s + 1); // s是目标串 m = strlen(p + 1); // p是模板串 // nxt预处理开始 int j = 0; nxt[1] = 0; for (int i = 2; i <= m; i++) { while (j > 0 && 阅读全文
posted @ 2024-10-10 10:26 binbin成长日记 阅读(29) 评论(0) 推荐(0)
摘要: * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val( 阅读全文
posted @ 2024-09-26 22:39 binbin成长日记 阅读(3) 评论(0) 推荐(0)
摘要: 思路 用到了单调栈。由于最大矩形它的高一定是height数组中的其中一个值,那么我们就可以遍历数组height的值再乘上它的宽的最大值WidthMax(宽的最大值后面会讲),然后取最大值就是答案,也就是ans=max(ans,WidthMax*height[x])。 那么如何求高为height[x] 阅读全文
posted @ 2024-07-22 19:08 binbin成长日记 阅读(14) 评论(0) 推荐(0)
摘要: 由于nums1数组是nums2数组的子集,所以可以直接在nums2s数组把每个数的下一个更大数用map来标记 寻找一个数的下一个更大数可以用单调栈,从数组的末尾反向遍历,维护一个单调递减的栈,(也可以从左往右遍历,维护一个单调递增的栈,从栈顶到底部单调递增) class Solution { pub 阅读全文
posted @ 2024-07-22 16:51 binbin成长日记 阅读(12) 评论(0) 推荐(0)
摘要: 直接双指针枚举,然后直接用stl(hh) 点击查看代码 `#include<iostream> #include<string> #include<algorithm> using namespace std; string s; int res = 1; int main(){ char c; w 阅读全文
posted @ 2024-06-11 16:20 binbin成长日记 阅读(6) 评论(0) 推荐(0)