od机考大部分题目网上都能搜索到原题,答案有查重,需要修改答案

一、题型、编译问题

关于题型: 机考共三题,两道简单题目各100分,一道较难题目200分,满分400,150分及以上通过 简单:字符串/数组 简单:最短路径/关键路径 困难:二叉树/哈希算法

所有题型中,字符串处理是大头,占比接近30%,主要是分割匹配排序较多。 数组的运算题型较多,排列组合,连续数列的条件匹配较多。

困难题型主要有两类:

复杂的树,图,堆栈算法:考察最短路径和关键路径,图结构较多。或者是比较麻烦的功能类实现:考察模块化编程思想 数学运算的题型较多求模或者需要找到数学规律来做来设计,不要按照题型步骤编程,比如因式分解,就是找素数乘积,对于连续数组匹配,需要将数组转化处理不要想太复杂的排列组合优化等算法

关于编译: 1.建议人选使用牛客网编译器,因为牛客网没有快捷键,如果使用本地编译器则需要经常调试编译环境,否则就算本地跑通复制到牛客网后也会出现用例不通过的情况

2.人选一定要注意审题,按照题目要求做题,比如题目要求使用树,则必须用树的知识点进行解题,若用其他技术点就算跑通最后得分也是0 如果像算法题没有明确的要求使用某技术点,则可以用数学思维进行解题

3.如果实在没有解题思路,且题中没有具体的解题要求,可以尝试暴力拆解,最终得分要看具体情况

二、 判分标准

1、代码规范及可读性 最基本的要求,需要大家都能保证。不要随意命名、建议使用一种命名风格。禁止出现如下这种将代码写到一行的。完成代码后,将代码里面多余的注释、不用的代码等删掉再提交。

2、基本测试用例通过率 保证基本的用例能通过。算法实现后自测相关数据。

3、边缘测试用例通过率 算法实现后需要根据题目去自测边缘的相关数据。

三、 做题方法

牛客网的题目与leetcode等网站不一样,leetcode会给一个接口名,考生只需要实现该接口即可,而牛客网的题目不仅需要实现题目本身的算法内容,还需要接收输入和打印输出。

1、处理输入:将题目中描述的输入存入到变量中,大家可以提前熟悉下怎么获取输入。

2、接口实现:(建议:可以独立一个接口出来实现,将输入的数据传入这个接口处理,然后该接口返回输出数据。这种做法便于后续测试,测试时可以独立测试这个接口。)

3、处理输出:一般是将数据输出到控制台。

四、必练题型

1、输入输出样题 90%以上的人败在输入的处理上,机考题目本身的算法并不复杂,请各位注意一定练习,否则遇到较难处理的输入时会导致题目不过。

OJ在线编程常见输入输出练习:https://www.nowcoder.com/test/27976983/summary#question

必练输入题:https://ac.nowcoder.com/acm/contest/5657/J 此题必须练习,熟悉如何处理较为复杂的输入和输出。https://ac.nowcoder.com/acm/contest/5657#question 该链接可以查看正确答案。

2、算法、知识点

数学知识:素数、公约数、矩阵等 重要数据结构知识:字符串(概率很大)、数组(概率很大)、链表、队列、堆、栈、map/set,以及它们的排序算法。树、图等可以自行准备,考的概率不大。

字符串最后一个单词的长度、二叉树的遍历、最大括号深度、春游名单、勾股数元组 华为在线笔试练习链接:https://www.nowcoder.com/ta/huawei

考试注意事项(可以在系统里看到详细考前须知): 1、请使用最新版 chrome 浏览器作答(72 版本以上) ,考试需开启摄像头,请确保电脑 带有摄像头; 2、考生只能在笔试页面在线编写和调试代码,手机监控,电脑摄像头都要打开,考试过程中不要故意取消监控。考试前关闭网页 QQ,网页微信等其它网站,考试过程中不要访问百度等其他网站,否则判定作弊成绩会作废。 3、考试答题时间 150 分钟,尽量在早上和安静情况下答题。 4、考试共三道编程题,考察更多的是基础知识和代码的规范性。答题前请注意查看示例(计 入 考试时长),代码完成后请务必点击【保存并调试】按扭,否则答案不作保存,不限制提 交运行次数(以提交中最高得分计分),调试完成点击【提交本题型】按钮,最后交卷; 5、考试时允许使用草稿纸,请提前准备纸笔。考试过程中允许上厕所等短暂离开,但请控制离开时间; 6、考试期间如遇到断电、断网、死机等问题,可以关闭浏览器重新打开试卷链接即可继续做题; 7、遇到问题请即时反馈给考试主办方。 8、机考链接为一周有效期,机考参加后半年之内不能再考 请提前登陆以下网址:熟悉题目方向、考点、试题难度,及所用编译包能否跑通 https://www.nowcoder.com/ta/huawei/ 9、提升通过率链接 https://www.bilibili.com/video/BV1n5411t7WL?from=search&seid=8904837019105257491

如果基础稍弱些:可以去搜文章"牛客网剑指offer+自己选择的编程语言"(例:牛客网剑指offer66题Java试题),也可以直接搜牛客网剑指offer+自己不太会的题型,这些文章上面都有详细的注解和编码步骤分析,可以自己关注一下 参考题目 牛客 https://www.nowcoder.com/ta/huawei 简单题

HJ12 字符串反转HJ11 数字颠倒HJ54 表达式求积HJ106 字符逆序HJ76 尼科彻斯定力HJ75 公共子串计算HJ86 求最大连续bit数HJ85 最长回文子串HJ100 等差数列HJ87 密码强度等级 中等题HJ10 字符个数统计HJ46 截取字符串HJ60 查找组成一个偶数最接近的两个素数HJ40 统计字符HJ14 字符串排序HJ5 进制转换HJ59 找出字符串中第一个只出现一次的字符HJ58 输入n个整数,输出其中最小的K个HJ81 字符串字符匹配 LeetCode https://leetcode-cn.com剑指offer 62 题: 圆圈中最后剩下的数字3:无重复字符的最长子串 采用滑窗法14:最长公共前缀151:翻转字符串里的词2047:字符串中的单词数581:最短无序连续子数组1071:字符串的最大公因子1111:有效括号的嵌套度面试题 17.08: 马戏团人塔

机考介绍

机考为三道算法题目,难度为2道简单,1道中等,需要自己处理输入输出,分值为100分、100分、 200分。总分400分,平台在牛客。摄像头一定要开,避免离开座位,左右晃头,以免系统误判作弊。考试过程须控制好做题节奏,切记不要在一道题目上花费过多的时间,合理分配时间。 刷题建议遇到不会的题怎么办? 万事开头难,好在算法的比我们之前做的数学题死板多了。一开始遇到题目不会是非常非常常见 的,我建议遇到不会的题目或者自己想了半天还没有思路的题目,这么做:直接看评论区答案(牛客按照热度降序,LeetCode按照点赞数降序,注意LeetCode有时候官 方题解非常绕,可以优先看非官方的)。争取记住看答案后就明白这么做的原因然后背住大 概的思路。第二天按照自己的记忆和理解再刷一遍这个题。第五天再刷一次。 就是说按照遗忘曲线的规律来刷题,并且整理套路(套路可以看评论区的高票答案)。我觉得刷 题不仅在多,而且还要让我们刷的每一个题目有价值。其实刷题多了就会发现大多数题目套路都 是一致的。题目都有好多解法,怎么办? 对于让人眼前一亮,属于奇技淫巧,我强烈建议记下来学习一波。大多数情况下可以参考下面题 型汇总,对于题型汇总中的高权重题型,建议掌握下这个方法,非高频的以后再说。牛客还是LeetCode? 两个平台在我看来都可以,但是考虑到最终机考在牛客,如果平时比较习惯刷LeetCode,一定要在 牛客上下面的高频考题都刷几题,熟悉输入输出。下面附上刷题链接。 牛客 https://www.nowcoder.com/exam/oj?tab=%E7%AE%97%E6%B3%95%E7%AF%87&topicId =196&page=1 可以根据知识点来过滤题型 牛客-华为考题 https://www.nowcoder.com/ta/huawei LeetCode https://leetcode-cn.com/problemset/all/ 可以根据标签来过滤题型要不要写输入输出? 答案是要的。虽然现在很多牛客的题目没要求构造输入输出(牛客叫核心代码模式),但是实际 考试还是需要的(牛客叫ACM模式),平时刷题需要注意区分,多刷需要自己构造的。尤其是二叉 树之类的题目,输入输出构造会比较花时间,练习的时候多留意输入输出构造,机试可以节省很 多时间。怎么鉴定我刷题成果? 请参考下文的必会题目,如果对于这些题目都有思路并且能解答,那么恭喜你,可以准备考试 了!实际、独立、按时练习 实际:不要只看解法,要实际去练,脑和手并不一致。 独立:独立完成,事后再看解析,做题过程不要看答案。 按时:全心投入,100分题要在40分钟内完成答题,200分题要在70分钟内完成 题型汇总 按照算法的难度和频率大致可以分为必会和进阶两种类型,每个子项排序表示考察的频率,序号越低, 考察频率越高,比如数组是考察频率最高的。大家实际刷题中可以根据题库提供的功能筛选,按照热 度、题解数等进行筛选。 必会数组字符串排序贪心递归循环滑窗栈进制转换位运算队列哈希表链表线性表二分查找 进阶图树DFS搜索BFS搜索动态规划前缀和排列组合矩阵双指针回溯状态机并查集正则表达式分治枚举统计 建议必会部分知识点倾向于出现在100分题中,进阶知识点倾向于出现在200分题中。建议必会部分优先 掌握1-10知识点,进阶部分优先掌握1-4知识点,这部分出现频次高,短时间内刷题性价比高。对于进阶部分,图往往伴随着深度优先和广度优先出现,我建议优先广度优先深度优先、二叉树 的遍历(能应付二叉树路径统计等题型)。其余有精力再准备。对于链表、广度优先和深度优 先,LeetCode和牛客上有很多现成的答题模板,大家可以当做公式一样进行参考 参考套路史上最全遍历二叉树详解 https://leetcode-cn.com/problems/binary-tree-preorder-traversal/solution/leetcodesuan-fa-xiu-li an-dong-hua-yan-shi-xbian-2/BFS算法框架详解 https://leetcode-cn.com/problems/open-the-lock/solution/wo-xie-liao-yi-tao-bfs-suan-fa-kuang-jia -jian-dao-/图文详解 BFS, DFS https://leetcode-cn.com/circle/article/YLb5l4/labuladong 的算法小抄 https://github.com/labuladong/fucking-algorithm 比较全,但是建议只看题型汇总中的高频题型 必会题目 题目的答案语言可能比较单一,大家可以根据题目内容进行关键字搜索,找到自己语言的答案,答案为别人 写的,不是官方参考答案,大家可以当做有思路的参考。这部分题目一定要知道具体的做法。 搜索题目的时候发现了https://blog.nowcoder.net/zhuanlan/v0Eoqj这篇专栏,不建议大家购买,但是里 面的题目描述的确比较详细,大家可以参考,然后根据描述去搜索答案。 这部分的题目尽量都要掌握。字符串分割 https://leetcode-cn.com/circle/discuss/niKSMZ/组成最大数 https://python.iitter.com/%E9%A6%96%E9%A1%B5/248622.html统计射击比赛成绩 http://www.amoscloud.com/?p=3561字符串序列判定 https://www.nowcoder.com/questionTerminal/5382ff24fbf34a858b15f93e2bd85307数据分类 http://www.amoscloud.com/?p=24145键键盘的输出 https://blog.nowcoder.net/n/c7bb482cddb647b5965c2f55ef13f7da检查是否存在满足条件的数字组合 http://www.amoscloud.com/?p=2825数组拼接 https://cxybb.com/article/weixin_41398052/106045155数列描述 https://blog.nowcoder.net/n/fc9be58c1a994072af9a77cd25cd3411考勤信息 http://www.amoscloud.com/?p=3038按单词下标区间翻转文章内容 https://blog.nowcoder.net/n/c157854438cc46629f0e5e33a94a4988最大括号深度 https://blog.nowcoder.net/n/316f6f2d6b494e28a1e4ca81b0a76988字符串加密 https://www.codeleading.com/article/89584473419/整数对最小和 http://www.4k8k.xyz/article/u013598405/114239804#%E7%AC%AC%E4%BA%8C%E9%A2%98%C 2%A0%20%E6%95%B4%E6%95%B0%E5%AF%B9%E6%9C%80%E5%B0%8F%E5%92%8C求字符串中所有整数的最小和 https://ask.csdn.net/questions/7423645乱序整数序列两数之和绝对值最小 http://www.amoscloud.com/?p=3257非严格递增连续数字序列 http://www.amoscloud.com/?p=2964分积木 https://blog.nowcoder.net/n/36e682ed2a0a455cbbfa4dc4dd24e280连续字母长度 http://www.amoscloud.com/?p=3034滑动窗口最大和 https://leetcode-cn.com/problems/sliding-window-maximum/素数之积 https://icode.best/i/62685042254334仿LISP运算 https://www.codetd.com/article/6784237贪吃蛇 https://blog.nowcoder.net/n/42420d1a2d324c32838f7f23e4da45f3解密犯罪时间 https://www.its203.com/article/weixin_44224529/117932485?2022-03-31求满足条件的最长子串的长度 https://www.jianshu.com/p/edc1efd18a67机器人走迷宫 https://blog.nowcoder.net/n/0bcd2d2047f4464bae29dedd5104c308?from=nowcoder_improve高效的任务规划 https://leetcode-cn.com/circle/discuss/EC2mv8/view/zT3KcL/二叉树遍历 https://www.codeleading.com/article/43985735740/书籍叠放 https://www.codeleading.com/article/11185696007/区间交集 https://blog.nowcoder.net/n/fd28c4bd1367426eb973a3e62e79a24e分月饼 https://javamana.com/2021/12/20211206054724872r.html找最小数 https://blog.nowcoder.net/n/60b56945100944cc987cefdd02db1b08简易内存池 https://blog.51cto.com/u_15127575/3271270服务失效判断 https://blog.nowcoder.net/n/82d7ba4e145e48e2b203b1ee63d9b153图像物体的边界 https://leetcode-cn.com/circle/discuss/Bu1fD6/view/oIQ50T/跳格子游戏 https://blog.nowcoder.net/n/8971e4919a324ada973297044015397e数组二叉树 https://www.idchg.com/info/86685/ 题目可以参考这个博客,不 建议购买https://blog.nowcoder.net/n/b3f4a031eea2422c9c42e0f71d c6e161考古学家 https://blog.nowcoder.net/n/9876a8a7bf104ec7ab88c350f268b8de解压报文 https://www.codeleading.com/article/50015743571/最长的指定瑕疵度的元音子串 https://www.icode9.com/content-1-1259108.html目录删除 https://www.cnblogs.com/skyshi/p/15969831.html火锅 https://cdmana.com/2022/03/202203260546548598.html服务器广播 https://www.codeleading.com/article/14505696344/二叉树的广度优先遍历 https://www.cnblogs.com/gcter/p/15469584.html找单词 https://blog.nowcoder.net/n/581f8f196a8a4f98a0a05334daa4b6b1?from=nowcoder_improve招聘 http://www.noobyard.com/article/p-vvnvrixx-px.html 某公司组织一场公开招聘活动…斗地主之顺子 https://blog.nowcoder.net/n/d2039c7bb5d74c7da969f731f036d700

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: