• 2023-04-17【LBLD】常数时间删除-查找数组中的任意元素
    常数时间删除-查找数组中的任意元素380.O(1)时间插入、删除和获取随机元素classRandomizedSet{private:vector<int>nums;unordered_map<int,int>num2index;public:RandomizedSet(){srand(time(0));}boolinsert(intval){
  • 2023-04-16【LBLD】田忌赛马背后的算法决策
    田忌赛马背后的算法决策870.优势洗牌classSolution{public:vector<int>advantageCount(vector<int>&nums1,vector<int>&nums2){intn=nums1.size();priority_queue<pair<int,int>,vector<pair<int,int>&
  • 2023-04-16【LBLD】带权重的随机选择算法
    带权重的随机选择算法528.按权重随机选择不使用二分法:classSolution{private:vector<int>preSum;intN=0;public:Solution(vector<int>&w){srand(time(0));preSum.push_back(0);for(inti=1;i<=w.size();i++){
  • 2023-04-13【LBLD】滑动窗口算法延伸:RABIN KARP 字符匹配算法
    滑动窗口算法延伸:RABINKARP字符匹配算法187.重复的DNA序列普通方法:classSolution{public:vector<string>findRepeatedDnaSequences(strings){intn=s.size();unordered_set<string>seen;unordered_set<string>res;
  • 2023-04-03【LBLD】二维数组的花式遍历技巧
    【LBLD】二维数组的花式遍历技巧151.反转字符串中的单词思路:反转整个字符串然后反转每个单词classSolution{public:stringreversePartString(strings,inta,intb){if(a<0||b>=s.size()){cout<<"索引错误!"<<endl;
  • 2023-04-01【LBLD】刷题记录
    【LBLD】刷题记录labuladong的算法小抄第零章、核心框架汇总学习算法和刷题的思维框架我的刷题心得【LBLD】双指针技巧秒杀七道链表题目【LBLD】双指针技巧秒杀七道数组题目第一章、手把手刷数据结构手把手刷链表算法【LBLD】双指针技巧秒杀七道链表题目【LBLD】递归
  • 2023-04-01【LBLD】小而美的算法技巧:前缀和数组
    【LBLD】小而美的算法技巧:前缀和数组一维数组中的前缀和classNumArray{private:vector<int>preSum;public:NumArray(vector<int>&nums){preSum.push_back(0);for(inti=1;i<nums.size()+1;i++){preSum.push_back(
  • 2023-03-31【LBLD】双指针技巧秒杀七道数组题目
    【LBLD】双指针技巧秒杀七道数组题目快慢指针技巧classSolution{public:intremoveDuplicates(vector<int>&nums){intfast=0;intslow=0;while(fast<nums.size()){if(nums.at(fast)!=nums.at(slow)){
  • 2023-03-31【LBLD】如何判断回文链表
    【LBLD】如何判断回文链表判断回文单链表/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(nullptr){}*ListNode(intx,