快速拿下面试算法

快速拿下面试算法

在面试前一周,我刷了很多道算法,分类刷,有些是做过的,因为我是面试C++相关岗位,除了leetcode与剑指offer相关的算法,还需要手撕一些智能指针呀,单例模式呀、字符串呀、LRU、排序算法等等。

本节主要是以速训练算法review基础为目的,内含60+道算法,代码量及涉及算法统计如下:

Languages

languagefilescodecommentblanktotal
C++494,1466333535,132

Directories

pathfilescodecommentblanktotal
.494,1466333535,132
bfs_dfs66959257844
dp1253313454721
dp/rob1308442
dp/剪绳子13010141
dp/博弈论16122588
dp/戳气球1219232
dp/接雨水11531314180
dp/最大编辑距离16010676
dp/背包51515321225
dp/贪心1279137
hash11351714166
link719610819323
recursion_backtracke1408351
sliding_window26917692
slidingwindow12301915264
sort21652012197
stack1679379
sum问题22872720334
tree386480621,006
二分1116139138
手撕算法107498979917
手撕算法/heap42774039356
手撕算法/kmp14618468
手撕算法/lru113718146
手撕算法/string110688122
手撕算法/单例模式26014983
手撕算法/智能指针1123811142

可以看到上述总共5k行代码,相信两周左右的时间是可以review完毕的!

具体涉及算法如下:

  • dfs

    463.岛屿的周长

    695.岛屿的最大面积

    200.岛屿的数量

    694.不同岛屿的数量

    305.岛屿数量II

    773. 滑动谜题

  • 链表

    24. 两两交换链表中的节点

    25. K 个一组翻转链表

    92. 反转链表 II

    160. 相交链表

    2.两数之和

    剑指 Offer 24. 反转链表

    面试题 02.05. 链表求和

  • 动态规划

    • 背包问题

      手撕0-1背包

      416.分割等和子集

      518.零钱兑换 II

      70. 爬楼梯

      322. 零钱兑换

    • 博弈论

      877. 石子游戏

    • 贪心

      柠檬找零

    • 其他

      312. 戳气球

      剑指 Offer 14- I. 剪绳子

      剑指 Offer 14- II. 剪绳子 I

      42.接雨水

      860. 柠檬水找零

      72. 编辑距离

  • 二分

    排序数组,平方后,数组当中有多少不同的数字(相同算一个)

    一个数据先递增再递减,找出数组不重复的个数,比如 [1, 3, 9, 1],结果为3,不能使用额外空间,复杂度o(n)

    递增数组,找出和为k的数对

    给出一个数组nums,一个值k,找出数组中的两个下标 i,j 使得 nums[i] + nums[j] = k

  • 滑动窗口

    3.无重复字符的最长子串

    字符串的排列

  • 排序

    插入排序

    冒泡排序

    快速排序

    三路快排

    归并排序

  • sum问题

    两数之和

    三数之和

    nSum

    大数之和

  • 71.简化路径

  • 哈希表及Union-Find

    128.最长连续序列

    一个无序数组,从小到大找到第一个缺的数,比如[8 2 4 3 6 9 7 11 12],第一个缺的就是5

    31.下一个排列

    55.跳跃游戏

    AB两个排序数组,原地合并数组。(A当中穿插一些无效数字怎么处理?)

  • 手撕二叉树操作

    剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

    剑指 Offer 68 - II. 二叉树的最近公共祖先

    337. 打家劫舍 III

    100.相同的树

    前中后非递归遍历及递归遍历

    剑指 Offer 54. 二叉搜索树的第k大节点

    222. 完全二叉树的节点个数

    257. 二叉树的所有路径

    129. 求根到叶子节点数字之和

    最小路径和

    124. 二叉树中的最大路径和

    112.路径总和

    113.路径总和 II

    剑指 Offer 07. 重建二叉树

  • 手撕算法相关

    手撕lru

    手撕memcpy、strcpy、strnpy、strlen、strstr、strcat、strcmp

    手撕智能指针

    手撕kmp

    手撕单例

    手撕堆

    • 手撕两种线程安全的单例模式

    • scoped_ptr

    • autpo_ptr

    • unique_ptr

    • shared_ptr

为了拒绝白嫖,我自己写的代码获取方式,可私聊我微信(没加的,点击公众号右下角联系我)并支付9.9红包发你。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值