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

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

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

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

相关推荐

18 385 评论
分享
牛客网
牛客企业服务