商务服务
拿到acm铜奖可以去大厂吗?
2024-10-31 23:59

从ACM选手的角度讲

为什么ACM选手在大家眼里都这么牛逼,原因就是很多ACM选手从中学就开始打比赛,你想想看,在你大学才懂一些简单的数据结构和算法的时候,这些中学生就已经ACM竞赛中畅游了。当然,也不是所有人都这样,比如我就不属于这一批,本人大一才开始准备。

拿到acm铜奖可以去大厂吗?

除此之外,ACM的题目都很难,难到什么程度本人在准备期间刷题刷到一度恶心。ACM竞赛很注重选手的分析和思维两方面的能力,在算法和数据结构这样已经足够复杂的题型下,还要进行大量的变形,所以没有一个高强度的培训是不可能有能力参赛。

所以,经历过ACM竞赛的非人锻炼,还坚持下来,并且还有能力拿奖的人一定都非常出色,至少在算法方面比大部分的候选人都要强。

从面试官的角度讲

但是作为曾经腾讯的面试官,我想说的是,如果你只是为了应付面试而参加ACM,是完全没有必要的。毕竟,准备ACM比赛至少也要三两年的时间。

而算法面试,用一些简单粗暴的方式,准备3~6个月就差不多了。

首先,弄清楚面试考察的高频知识点,这里薅了一个FB大佬讲座上的资料,看过一遍总结的很不错,和我当时算法面试的考察的题型都差不多。讲座是免费的,看了不吃亏,给你们一个地址戳这里~

最后,再跟着这些知识点总结刷题就对了。

有些人可能会质疑这样的可行性,但是想做出面试的算法题,真的就这么简单。不过一定要精刷题目,精刷到遇到同类型的题目可以直接手撕,请对自己狠一点

下面我也根据高频考点,和自己以前做面试官出题的尿性**,整理出了一套面试考察几率非常高的算法面试考察题型,以及对应必刷的题目。**这些题目如果都掌握的游刃有余,我觉得面试就没什么大问题了。

1、排序算法 Sorting

第k大元素

会议室II

有序数组的平方

最佳见面地点

摆动排序II

复杂度

• 时间复杂度

○ 快速排序(期望复杂度) : O(nlogn)

○ 归并排序(最坏复杂度) : O(nlogn)

• 空间复杂度

○ 快速排序 : O(1)

○ 归并排序 : O(n)

2、动态规划 Dynamic Programming

最长回文子串

换硬币

单词拆分I

正则表达式

最大连续上升子序列

打劫房屋

完美平方

最小划分

跳跃游戏

• 使用场景

○ 求方案总数(90%)

○ 求最值(80%)

○ 求可行性(80%)

• 不适用的场景

○ 找所有具体的方案(准确率99%

○ 输入数据无序(除了背包问题外,准确率60%~70%)

○ 暴力算法已经是多项式时间复杂度(准确率80%

• 动态规划四要素(对比递归的四要素)

○ 状态 (State) – 递归的定义

○ 方程 (Function) – 递归的拆解

○ 初始化 (Initialization) – 递归的出口

○ 答案 (Answer) – 递归的调用

• 几种常见的动态规划

• 背包型

○ 给出 n 个物品及其大小,问是否能挑选出一些物品装满大小为m的背包

○ 题目中通常有“和”与“差”的概念,数值会被放到状态中

通常是二维的状态数组,前 i 个组成和为 j 状态数组的大小需要开 (n + 1) * (m + 1)

3、双指针算法 Two Pointers

有效回文II

分割标签

飞机上看电影

装最多水的容器

对数组变换排序

字符大小写排序

在LR字符串中交换相邻字符

7. 滑动窗口 (90%)

8. 时间复杂度要求 O(n) (80%是双指针)

9. 要求原地操作,只可以使用交换,不能使用额外空间 (80%)

10. 有子数组 subarray /子字符串 substring 的关键词 (50%)

11. 有回文 Palindrome 关键词(50%)

• 时间复杂度:O(n)

○ 时间复杂度与最内层循环主体的执行次数有关

○ 与有多少重循环无关

• 空间复杂度:O(1)

○ 只需要分配两个指针的额外内存

4、二分法 Binary Search

在排序数组中找接近的K个数

寻找旋转排序数组中的最小值

两数交集

俄罗斯套娃信封

加热器

扇形数组的顶峰坐标

有序矩阵中的第k小元素

完全平方数

1. 排序数组 (30-40%是二分)

2. 当面试官要求你找一个比 O(n) 更小的时间复杂度算法的时候(99%)

3. 找到数组中的一个分割位置,使得左半部分满足某个条件,右半部分不满足(100%)

4. 找到一个最大/最小的值使得某个条件被满足(90%)

5. 时间复杂度:O(logn)

6. 空间复杂度:O(1)

5、宽度优先搜索 BFS

不同岛屿的个数

序列重构

迷宫II

课程表

最大子数组

墙和门

二叉树的右视图

最短路径

12. 拓扑排序(100%)

13. 出现连通块的关键词(100%)

14. 分层遍历(100%)

15. 简单图最短路径(100%)

16. 给定一个变换规则,从初始状态变到终止状态最少几步(100%)

• 时间复杂度:O(n + m)

○ n 是点数, m 是边数

• 空间复杂度:O(n)

6、深度优先搜索 DFS / 递归 Recursion

有效的括号序列

在排序数组中找最接近的K个数

有效回文串

序列重构

斐波那契数列

• 找满足某个条件的所有方案 (99%)

• 二叉树 Binary Tree 的问题 (90%)

• 组合问题(95%)

○ 问题模型:求出所有满足条件的“组合”

○ 判断条件:组合中的元素是顺序无关的

• 排列问题 (95%)

○ 问题模型:求出所有满足条件的“排列”

○ 判断条件:组合中的元素是顺序“相关”的。

不要用 DFS 的场景

17. 连通块问题(一定要用 BFS,否则 StackOverflow

18. 拓扑排序(一定要用 BFS,否则 StackOverflow

19. 一切 BFS 可以解决的问题

• 时间复杂度:O(方案个数 * 构造每个方案的时间)

○ 树的遍历 : O(n)

○ 排列问题 : O(n! * n)

○ 组合问题 : O(2^n * n)

7、二叉树的搜索算法 Traversal

必刷题目

二叉树的层次遍历

二叉查找树的中后续后继

最近公共祖先

二叉树查找树中的搜索区间

• 二叉树相关的问题 (99%)

• 可以一分为二去分别处理之后再合并结果 (100%)

• 数组相关的问题 (10%)

时间复杂度 O(n)

空间复杂度 O(n) (含递归调用的栈空间最大耗费)

8、堆 Heap

丑数 II

K个最近的点

会议室3

特定序列的第K小的数

堆化

K间隔数组排序

20. 找最大值或者最小值(60%)

21. 找第 k 大(pop k 次 复杂度O(nlogk))(50%)

22. 要求 logn 时间对数据进行操作(40%)

堆不能解决的问题

23. 查询比某个数大的最小值/最接近的值(平衡排序二叉树 Balanced BST 才可以解决

24. 找某段区间的最大值最小值(线段树 SegmentTree 可以解决

25. O(n)找第k大 (使用快排中的partition操作)

————————————————

    以上就是本篇文章【拿到acm铜奖可以去大厂吗?】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/6452.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多   
最新新闻
【百度移动推广
  移动互联网时代:百度为您创造新的营销价值  CNNIC发布的第31次统计报告显示:截至2012年12月底,我国有4.2亿的移动网民,
Nginx重写功能和反向代理的用法详解
1.1 if 指令用于条件匹配判断,并根据条件判断结果选择不同的Nginx配置,可以配置在server或location块中进行配置,Nginx的if语
上门预约服务APP+H5+小程序平台搭建
构建一站式健康理疗平台:深度解析多元化服务、源码交付与智能预约的APP+H5+小程序综合解决方案随着健康意识的不断提高,人们对
qq聊天的搞笑段子
  超有幽默感的段子,经典内涵搞笑段子大全能笑死人的,我们通过交流说话来使用这些段子。接下来就是学习啦小编为你精心准备的
PHP REST API 极光推送
极光自年成立以来专注于为app提供稳定的开发者服务。 极光产品覆盖了中国国内90%的移动终端。 基于积累的海量数据,拓展了
word标题大纲级别_论文标题目录和图表自动生成的方法!
目录作为论文的导读图,与文章内容一一对应,一篇论文,通常会有各级各类标题,当内容的层次较多时
中国人导致死亡的10大原因
中国人导致死亡的10大原因 常见食物对常见病的影响 十字花科蔬菜包含花菜、西兰花(青花菜)、小洋白菜、白菜、卷心菜等,具有最强
一款简易大众点评项目实战——解决Session不一致、缓存问题
黑马点评是⼀个大量使用Redis的项目,该项目的功能类似大众点评 前端界面: 数据库表: 后端代码:conf
不忘初心 牢记使命
  1.《共产党员如何不忘初心牢记使命》  党的十九大报告指出:“不忘初心,方得始终。中国共产党人的初心和使命,就是为中国
Neutron 理解 (1): Neutron 所实现的网络虚拟化
特别说明:本文于2015年基于OpenStack M版本发表于本人博客,现转发到公众号。因为时间关系,本文部分内容可能已过时甚至不正确
本企业新闻

点击拨打: