
玩转算法面试
Jocelin47
这个作者很懒,什么都没留下…
展开
-
玩转算法面试第四章——查找表相关问题
玩转算法面试第四章——查找表相关问题 4-1 set的使用 Intersection of Two Arrays 查找问题: set中有元素a不会有2个 change改变map中改变某个键值所对应的值 349题 使用set记录,nums1元素放入set,查找nums2的元素是否存在与nums1中 因为c++并没有给set这种容器重载[]操作符,所以不像vector一样可以用数组下标访问元素 简化: 4-2.map的使用 Intersection of Two Arrays II 350题 元素的原创 2020-07-18 22:09:16 · 263 阅读 · 1 评论 -
玩转算法面试第三章——数组中的问题其实最常见
玩儿转算法面试第三章——数组中的问题其实最常见 3-1.从二分查找法看如何写出正确的程序 排序: 选择排序;插入排序;归并排序;快速排序 查找:二分查找法 数据结构:栈;队列;堆 二分查找法 比数组中查找最大值最小值要难一些 但是没有实现快速排序法那么复杂。 考虑好l和r的区间 区间为闭区间 [ l…r ]: 3-2.改变变量定义,依然可以写出正确的算法 如果l=0,r=n 区间为前闭后开:[l…r) 有个小bug,存在整型溢出 3-3.在LeetCode上解决第一个问题 Move Zer原创 2020-07-12 10:58:10 · 247 阅读 · 1 评论 -
玩转算法面试第二章——面试中的复杂度分析
玩儿转算法面试第二章——面试中的复杂度分析 2-1.究竟什么是大O(Big O) 上面的复杂度是错误的 我们还是看平均情况下的时间复杂度。 2-2.对数据规模有一个概念 10的x次方的时间, 相当于每次是前一次的十倍时间 上述时间除以10是可以处理的数据范围 比如O(n^2)也就是1000个数据 右边因为递归的操作系统栈中要有n个状态,所以空间复杂度是0(n). 主要看递归的深度 ...原创 2020-07-11 19:58:47 · 223 阅读 · 0 评论 -
玩转算法面试第一章——算法面试介绍
1.算法面试不仅仅是正确的回答问题 java源代码中快排的实现便是三路快排 稳定排序: 总结: 优化、规范、容错性: 2.算法面试只是面试的一部分 面试大厂时需要准备这些问题: 3.如何准备算法面试 不能一味的刷题,学习基础算法知识与实践掌握平衡。 4.如何回答算法面试问题 对于有序数组,想到二分法去解决。 看到时间复杂度出现了logN,想到是不是分治,甚至对于O(NlogN),试想是不是需要先排序。 无需考虑额外空间,那么是不是可以用数组或者HashSet。 数原创 2020-07-11 10:33:28 · 270 阅读 · 1 评论