玩转算法面试
文章平均质量分 54
yzhyzhyzhwhyyy
这个作者很懒,什么都没留下…
展开
-
玩转算法面试---习题LeetCode80. 删除排序数组中的重复项 II
题目描述:给定一个增序排列数组 nums ,你需要在 原地 删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝int len = removeDupl原创 2021-01-07 11:04:41 · 106 阅读 · 1 评论 -
玩转算法面试---习题LeetCode26 删除排序数组中的重复项
题目描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组原创 2021-01-06 21:35:51 · 74 阅读 · 0 评论 -
玩转算法面试---习题LeetCode27 移除元素
题目描述:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,1,2,2,3,原创 2021-01-06 20:57:17 · 82 阅读 · 0 评论 -
玩转算法面试:数组问题1
LeetCode283 移动零facebook Bloomberg面试题题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数思路一:将数组中的非0元素取出,然后将取出的元素填补到原先的数组中,最后将数组末尾元素赋值为0;c++代码class Solution {public: void原创 2021-01-06 19:46:10 · 111 阅读 · 2 评论 -
玩转算法面试---如何写出正确的程序
数组问题在面试中很常见:排序:选择排序;插入排序;归并排序;快速排序查找:二分查找数据结构:栈;队列;堆如何写出正确的程序明确变量的含义循环不变量小数据调试(边界,特例)大数据量测试二分查找法:边界处理循环不变量:在循环中,声明的区间不变。控制区间边界,保证其含义不变二分查找1:循环不变量为[l…r]的范围内寻找targettemplate<typename T>int binarySearch(T arr[], int n, T target){ int l原创 2021-01-04 20:43:25 · 210 阅读 · 0 评论 -
面试中的时间复杂度分析
到底什么是大On表示数据规模。O(f(n))表示运行算法所需要执行的指令数,和f(n)成正比。二分查找法O(logn) 所需执行的指令数:alogn|–|-所需执行的指令数:bn|| | |原创 2020-12-30 12:17:32 · 223 阅读 · 0 评论 -
bobo老师玩转算法面试,如何准备算法面试?
算法面试只是面试中的一个环节误区算法面试并没有那么难。有选择的读《算法导论》等经典书籍,不能追求一步到位,学习切忌完美主义。高级数据结构和算法面试提及的概率很低。远达不到信息学竞赛难度算法面试准备范围不要轻视基础算法和数据结构,而只关注“有意思”的题目。各种排序算法基础数据结构和算法的实现:堆、二叉树、图…基础数据结构的使用:链表、栈、队列、哈希表、图、Trie、并查集…基础算法:深度优先、广度优先、二分查找、递归…基本算法思想:递归、分治、回溯搜索、贪心、动态规划…选择合原创 2020-12-28 17:55:37 · 268 阅读 · 0 评论 -
bobo老师玩转算法面试,如何准备技术面试?
算法面试是什么?算法面试需要有一个合理的思考路径;算法只是技术的一部分。不代表能够“正确”回答每一个算法问题,但是合理的思考方向其实更重要,也是正确完成算法面试问题的前提算法面试优秀不意味着技术面试优秀技术面试优秀不意味着能够拿到Offer算法面试的目的不是给出一个“正确”答案,而是展示给面试官你思考问题的方式。算法面试不是考试,把这个过程看作是和面试官一起探讨一个问题的解决方案。对于问题的细节和应用环境,可以和面试官沟通。这种沟通暗示着你思考问题的方式...原创 2020-12-28 15:24:36 · 1881 阅读 · 3 评论