面试手撕算法汇总(持续更新)

所有题目都是从面经中提取而来,持续更新。
本人也是菜鸟一枚,帖子也会相应的发布自己对于题目的解法和看法,但是可能想得不够,也希望大家能够一起讨论,一起进步。

1.数组中找出所有重复数字?空间复杂度为O(1),时间复杂度最小?
实在没有O(1)的方法,只能实现O(n),欢迎讨论。
方案1:创建n个数字的数组,循环相加,将大于1的数字打印出来
方案2:map,先contains判断,存在就打印,不存在就put
2.一个二维数组只含0,1;将1围城的矩阵中所有的0的数字转换成1?
3.求链表中点?
4. 手写常用设计模式(单例)
饿汉懒汉的区别、好处、缺点都要会
这里可能会引申出单例的条件,详见:http://www.runoob.com/design-pattern/singleton-pattern.html
5.手写生产者消费者模式?
不解释,不理解的,先背住再好好理解
6.100个0到100之间的整数排序
7.two sum问题到k sum问题
8.旋转数组二分查找
9.算 a + b, 不能用加号或减号
位运算,大家百度一下就可以了
10. 数组中超过一半的数
11. 大文件100亿个数字,求前m大的数
12.两个有序数组,求第k个数
13.最大连续子数组和
基础题,贪心。
14.二维数组中,每个元素有个数字,求某一个点到任意一点的sum和(只能向右或者向下) dp记录到每个点的sum
15.手写快速排序算法,并解释过程。
不会的,直接背吧......
16.重建二叉树
17.二分查找
18.从字符串中“aecbcda”找出不重复的字符组成的顺序子串“aecbd”,用最优的时空复杂度。
19.判断一个链表是否有环(我回答快慢指针,因此引出下一个问题)
两个指针,一个走1步,一个走2步,龟兔赛跑问题
20.一个数组,有正有负,把正的移到右边,负的移到左边。
21.两个队列实现栈
《剑指Offer》原题
22.括号匹配
堆匹配
23.链表反转的操作,参数结构自己设计
24.一个数组,实现原地反转
25.一个只包含小写字母的字符串,去重生成一个只包含单一字母的字符串。例如“abadcab”变成"abdc",只让用最多一个额外的int变量
26.大数加法代码
27.推排序
不会的,直接背吧......
28.给一个字符串,由26个英文字母组成,判断其中有没有重复出现的元素,有返回true,没有返回false
桶排序,大于1 就返回ture

全部评论
老铁 25.一个只包含小写字母的字符串,去重生成一个只包含单一字母的字符串。例如“abadcab”变成"abdc",只让用最多一个额外的int变量。   这题有思路吗?讲讲啊
点赞 回复 分享
发布于 2017-09-20 22:03
赞一个
点赞 回复 分享
发布于 2017-09-15 00:35
点赞 回复 分享
发布于 2017-09-13 23:35
好多剑指offer
点赞 回复 分享
发布于 2017-09-13 13:24
100个0到100之间的整数排序,有什么技巧吗
点赞 回复 分享
发布于 2017-09-13 12:56
第一题用非递归的方式实现堆排序,对原数组排序
点赞 回复 分享
发布于 2017-09-13 12:00
妹子真厉害!
点赞 回复 分享
发布于 2017-09-13 11:42
大佬求贴代码啊!
点赞 回复 分享
发布于 2017-09-13 11:11
赞!!!!!!!!
点赞 回复 分享
发布于 2017-09-13 11:10
mark一下,等答案
点赞 回复 分享
发布于 2017-09-13 11:07
很棒  哈哈  贴出问题加代码那就更好啦!赞!顶楼主
点赞 回复 分享
发布于 2017-09-13 11:02
求大神贴出思路
点赞 回复 分享
发布于 2017-09-13 11:02
顶楼主
点赞 回复 分享
发布于 2017-09-13 11:00
赞!
点赞 回复 分享
发布于 2017-09-13 10:55
哈哈  贴出问题加代码那就更好啦!
点赞 回复 分享
发布于 2017-09-13 10:53
很棒
点赞 回复 分享
发布于 2017-09-13 10:50

相关推荐

03-27 16:40
已编辑
门头沟学院 C++
26学院本太难了,很多公司机筛就给我刷了。机会都难拿到如果是简历存在问题也欢迎拷打————————————————————分割线——————————————————————2026.3.4更新:发完贴之后,时不时投递又收到了不少的笔试/面试邀请。主要是之前投递简历出去之后基本上都是沉默状态,年后好转了不少timeline:2026.01.21 文远知行笔试,半年多没刷算法题 ->挂 (后续HR说春招可以重新安排笔试)2026.2.4     小鹏汇天 技术一面,第二周收到结果 ->挂2026.2.12   大众Cariad代招 技术二面 ->Offer2026.2.28   多益网络技术面试,由于风评太差,一直在犹豫要不要接面试 ->推迟-----------分割线-----------2026.3 月前的某一天,临时去电网报名了二批计算机岗位的笔试2026.3.6 从上家公司实习离职,氛围最好的一家公司,leader 说可以帮忙转正,但是流程太长,而且我们部门据说只有一个 hc,更想要研究生,我很有可能是会被签外包公司在这里干活,就离职了。2026.3.9 入职新公司,大众Cariad 以外部公司的身份进组,项目组签了三年,后续三年应该都可以在这里呆,不知道有没有希望原地跳槽。2026.3.10 电网考试居然说我通过资格审查了,短信约我去参加资格审查,请假一天,买了 12 号晚上的机票回成都2026.3.15 参加国家电网计算机类笔试2026.3.17 电网出成绩了,感觉很低。觉得已经🈚️了2026.3.18 收到电网面试通知,通知 3.22-3.25 这个时间去面试,我的岗位只招 1 个人。据说面试只有 2-3 人,不知道能不能成功----------分割线-----------2026.3.21 电网面试结束,感觉回答的还勉勉强强,大概是2个岗位分别招1个人,一共11人面试,实际来了9人2026.3.27 出面试成绩,满分100分,早上10:20左右发现面试成绩46,我震惊了,没截图,后面过了十分钟重新看发现面试成绩给我改成58了。但同样震惊。朋友问我是不是把面试官打了,哈哈
点赞 评论 收藏
分享
评论
19
394
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务