算法

2019-02-16  本文已影响0人  Q罗

leetcode中文

归并算法https://www.cnblogs.com/chengxiao/p/6194356.html

最大堆的排序,插入,删除https://blog.csdn.net/sinat_27026243/article/details/77507745

LeetCode 23 Merge k Sorted Lists(合并k个有序链表)

Java单链表反转

去除已排序数组中的重复元素

把一个字符串转成一个整数

LeetCode 两数相加

生产者消费者

判断单链表是否成环算法

Java实现十进制数转十六进制数

十六进制转换为十进制代码

Java无锁堆栈详解-非阻塞线性安全栈

背包问题

Java实现N个字母的全排列

Java数据结构和算法(十一)——红黑树

算法-数组中是否存在两数之和等于x?

给定数组,从数组中取出n个不复用的数的和为sum

顺时针打印矩阵

LeetCode 是一个不错的地方。如果你能完成其中 50% 的题,那么你基本上可以想面哪里就面哪里了。这里,你要知道,一些面试官也是新手,他们也是从网上找一些算法题来考你。所以,你不用太害怕算法题,都是有套路的。比如:

如果是数据排序方面的题,那基本上是和二分查找有关系的。

如果是在一个无序数组上的搜索或者统计,基本上来说需要动用 O(1) 时间复杂度的 hash 数据结构。

在一堆无序的数据中找 top n 的算法,基本上来说,就是使用最大堆或是最小堆的数据结构。

如果是穷举答案相关的题(如八皇后、二叉树等),基本上来说,需要使用深度优先、广度优先或是回溯等递归的思路。

动态规划要重点准备一下,这样的题很多,如最大和子数组、买卖股票、背包问题、爬楼梯、改字符……这里有一个Top 20 的动态规划题的列表

一些经典的数据结构算法也要看一下,比如,二叉树、链表和数组上的经典算法,LRU 算法,Trie 树,字符串子串匹配,回文等,这些常见的题都是经常会被考到的。

基本上来说,算法题主要是考察应聘者是否是计算机专业出身的,对于基本的数据结构和算法有没有相应的认识。你做得多了,就是能感觉得到其中的套路和方法的。所以,本质来说,还是要多练多做

上一篇下一篇

猜你喜欢

热点阅读