LeetCode刷体总结

  1. 无重复字符的最长子串
  2. 最长回文子串
  3. 删除链表的倒数第N个节点
  4. 有效的括号
  5. 移除元素
    // 边界判空size() == 0
  6. 下一个排列
    // 解题思路处理顺序
  7. 旋转图像
  8. 合并区间
    // 自定义排序 sort(vec.begin(), vec.end(), [](vector &x, vector &y) { return x[0] < y[0]; });
  9. 删除排序链表中的重复元素 II
    // vector.front(); .back(); .pop_back(); .insert(iterator it,const T& x); .assign(int n,const T& x);
    // 链表伪头指针减少头指针处理的特殊场景
  10. 反转链表 II
    // 通过构造顺序输入debug辅助判断边界
  11. 二叉树的层次遍历
    // 层序遍历layer++和while(layerSize–)比pair.second记录层关系效率高三倍
    // 判断当前层结果vector<vector> result是否初始化:result.size() < layer
    // 复制粘贴变量检查
  12. 路径总和 II
    // 深搜裁枝的时候注意用例正负数字,不要裁错丢解了
  13. 翻转字符串里的单词
    // std::reverse(str.begin(), str.end());
    // str.substr(pos, len); len的默认值是s.size() - pos
  14. 岛屿数量
    // 二位数组初始化 vector<vector> mark(grid.size(), vector(grid[0].size(), 0));
    // 拷贝粘贴变量修改,仔细检查每一个变量的含义
    // 方向数组 int x[4] = {0,0,-1,1};
    // 广搜要注意入队列时的状态,尽量入队列之前修改状态,避免出队列置状态队列已经有很多重复状态,导致爆队超时
  15. 数组中的第K个最大元素
    // struct MyCmp { bool operator()(int &a, int &b){return a > b;}}; priority_queue<int, vector, myCmp> q;
  16. 存在重复元素 III
    // 考虑类型超出用大类型做加减比较
    // set求v上下界s.lower_bound(x>=v); s.upper_bound(x>v)
    // 尾巴不包含 vector maxWindow(nums.begin(), nums.begin() + winLen - 1);
    // sort(vec.rbegin(), vec.rend());
    // 问题转化,区间内查找符合条件若干元素,转换为区间内查找单元素是否符合转化后的条件。将区间元素遍历O(n^2)转换为线性元素遍历O(n)
    // 审题细节,代码循环,边界,continue/break/;细节
  17. 基本计算器
    // long类型累加int
    // 抽取方法,栈调用超出时间限制
  18. 去除重复字母
    // 单调栈
    // 编码速度
    // 模拟工具
    // 多个循环判断相互影响的逻辑要谨慎
  19. 查找和最小的K对数字
  20. 摆动排序 II
    // 算法设计
  21. 前 K 个高频元素
  22. 替换后的最长重复字符
    // 最大最小长度条件及时裁枝降低一半时间
    // vector::iterator maxIter = std::max_element(vec.begin(), vec.end());
    // 三种字符容器计算效率差异不大:map<char, int> countMap; char countMap[256] = {0}; vector countMap(26,0);
  23. 字符串的排列
    // char map1[256] = {0};
  24. 寻找重复的子树
    // 递归序列化+map查找
  25. 划分为k个相等的子集
  26. 打开转盘锁
    // 最短路径层序搜索进入队列就要设置待处理状态,访问再置已处理状态队列会有很对重复的待处理,导致重复搜索超时
    // 优先队列破坏了层序从大到小的顺序,比较函第一优先级是层序,第二优先级才是距离等优先级,如果取最短距离可以在q.push的时候判断相同节点更短layer已经在队列,则当前更长的相同节点丢弃。
    // 符合数据定义struct+构造方法,新增struct类型比较方法
  27. 完全二叉树插入器
    // 先序遍历打印每一个节点vLR值调试分析
  28. 最大层内元素和
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值