算法

1.反转字符串问题
如输入“iam a good man” ,返回“man good a am i”

2.蛇形矩阵问题

3.N皇后问题

4.topKW问题

5.快拍思想的topK问题

二分查找

字符串匹配问题

判断是否是回文

fibnacci问题

台阶问题有20阶台阶,一次跳1个或者跳2个有多少种方法

快排
整个快速排序的核心是分区(partition),分区的目的是传入一个数组和选定的一个元素,把所有小于那个元素的其他元素放在左边,大于的放在右边。

快排思路
选取基准点,从最右的指针向前遍历,找到第一个小于基准点的值,和基准点交换,

冒泡排序

归并排序
//归并排序(时间复杂度为N*logN,稳定;数据库,Java,Python的对象排序都用它)
//原因(优点):稳定,速度较快,空间复杂度为N;
//合并时看子数组规模,大时用归并,小时用插入,都稳定;
// 对应Java中的timiSort
//思想:将数组分为两个数组,将两个数组排序后合并;
//子数组的排序可以递归调用归并排序,规模较小时用插入排序
//涉及理论:插入排序,分治法,递归

插入排序
//插入排序(相对冒泡和选择较好,但时间复杂仍为n**2,空间为1,稳定)
//思想:同打牌,将新摸到的牌插入到已排好的牌面上
//操作:每次将后面的数插入到前面已排好的数组中

桶排序

堆排序

全部评论

相关推荐

白火同学:能。我当初应届沟通了1200,收简历50,面试10左右吧,加油投吧
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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