文章目录

  • 一、刷题范围建议
  • 二、代码规范

一、刷题范围建议


面试算法 侧重实践 , 工程 ; 并不是所有的算法都适合面试 , 靠背诵解决问题的算法 , 只能解决单个问题没有推广性的算法 , 有简称 , 带人名的算法 , 这些算法与编程能力关系不大 , 基本面试中不会出现 ; 算法工程师岗位除外 ;

刷题关注点 : 不要乱刷题 , 刷题范围如下 ;

① 算法: 字符串处理 , 排序算法 ( 快速排序 , 归并排序 ) , 双指针算法 , 二分法 , 分治法 , 宽度优先搜索 , 深度优先搜索 , 二叉树遍历 , 动态规划 , 拓扑排序 , 递归 ;

② 数据结构 : 数组 , 链表 , 二叉树 , 堆 , 哈希表 , 线段树 , 树状数组 , 跳跃表 , 红黑树 , 字典树 , 并查集 ; 不同的数据结构 , 增删查改的算法复杂度是不同的 ; 每种数据结构都有其擅长处理的问题 , 如 : 数组方便查询 , 链表方便增删 ;

一些大部头的书 , 如 : 算法导论 , 尽量避免陷进去 , 搞算法研究 , 或算法工程师才去看这些书 , 面试看这些就废了 ;

二、代码规范


代码缩进 : 缩进一般 不要超过 333 层 , 缩进量层次越深 , 出 BUG 几率越高 ; 超过 333 层的逻辑放在子函数中完成 ;

算法耦合性 : 一个算法如果需要 多个步骤 进行 , 每个步骤之间有交叉重复的情况 , 尽量 将每个步骤抽出放在一个单独的函数中完成 ;

代码注释问题 : 推荐使用 变量 / 方法 清晰易懂的命名 , 逻辑简单易懂 ; 需要一定的编程功底 , 感觉纯属扯淡 , 注释能加还是多加 ;

多拆分代码 : 代码 适当地拆分成子函数 , 拆分的越细 , 子函数越多 , 代码越长 , 但是 代码可读性增强 , 更易于维护 , 出错较少 ;

变量 / 方法名称 :

  • 变量 / 方法 命令 , 都要有实际的意义 , 不允许出现无意义名称 ;
  • 使用 111 ~ 222 个单词作为名称 ;

多重判定 : 多使用 continue 关键字 , 少用 if 关键字 ;

使用空格 :

  • 二元运算符两边 都要添加空格 ;
  • 单元运算符不加空格 ;
  • if 与括号之间 加空格 ;
  • if , for 括号与花括号之间 添加空格 ;
  • 逗号后面 添加空格 ;

使用空行 : 一个方法中 , 使用空行分隔不同逻辑模块 ;

异常检测 :

  • 所有的函数 , 进来第一件事就是 验证参数是否符合要求 ;
  • 只要涉及到函数 , 都要 确保下标不越界 ;
  • 访问对象 , 确保对象不为空 , 避免空指针异常 ;
  • 避免使用全局变量 ;

算法面试 :

  • 如果拿到算法题目没有头绪 , 可以找面试官要提示 , 或者算法逻辑 , 但是问的问题不要太小白 ;
  • 如果太难 , 给出思路 , 完成部分模块即可 ;

【算法】刷题范围建议 和 代码规范相关推荐

  1. 字节跳动算法刷题宝典.pdf

    今天推荐一个关于「算法刷题宝典」的开源项目:力扣Cookbook. 力扣 Cookbook是@halfrost(中文名:霜神)去年刷的 力扣整理出的 520 题,每道题都写了解题思路,并且每题都 ru ...

  2. 搬砖试金石!github星标7W算法刷题宝典,还愁拿不下大厂offer?

    前言 这几年IT技术蓬勃发展,日新月异,对技术人才的需求日益增长,程序员招聘市场也如火如荼.在有限的三五轮面试中,国外流行让面试者编程解决某些数据结构和算法的题目,通过观察面试者编码的熟练程度.思考的 ...

  3. 算法刷题路线总结与相关资料分享

    算法刷题路线总结与相关资料分享 前言 一.算法刷题路线总结 二.算法题刷题步骤 三.基础数据结构知识汇总 1.时间复杂度 2.空间复杂度 3.线性表 4.栈与队列 5.树 四.基础算法知识汇总 1.递 ...

  4. ACM-ICPC 常用算法刷题网站整理

    ACM-ICPC 常用算法刷题网站整理 转载From http://blog.csdn.net/bat67/article/details/72765485 以及http://blog.csdn.ne ...

  5. 算法刷题宝典.pdf

    今天推荐一个关于「算法刷题宝典」的开源项目:力扣Cookbook. 力扣 Cookbook是@halfrost(中文名:霜神)去年刷的 力扣整理出的 520 题,每道题都写了解题思路,并且每题都 ru ...

  6. 神了,无意中发现一位1500道的2021LeetCode算法刷题pdf笔记

    昨晚逛GitHub,无意中看到一位大佬的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙伴没有看到. 关于算法刷题的困惑和疑问也经常听朋友们提及.这份笔记 ...

  7. 算法刷题-数论-试除法求约数、约数个数、约数之和、最大公约数(辗转相除法)

    文章目录 acwing869. 试除法求约数 acwing870. 约数个数 acwing871. 约数之和 acwing872. 最大公约数 acwing869. 试除法求约数 acwing869. ...

  8. 【c++算法刷题笔记】——洛谷2

    1. 洛谷练习--P1579 哥德巴赫猜想(升级版) 题目描述: 现在请你编一个程序验证哥德巴赫猜想. 先给出一个奇数n,要求输出3个质数,这3个质数之和等于输入的奇数. 输入格式: 仅有一行,包含一 ...

  9. 找到所有数组中消失的数字_【一点资讯】千万程序员的呼声:面试如何拿到大厂Offer?这份阅读量超过11W+的算法刷题宝典请你原地查收 www.yidianzixun.com...

    如何才能通过面试拿到大厂Offer? "刷leetcode!" 这是我听到最多的回答! 现在越来越多的人应聘工作时都得先刷个几十百来道题,不刷题感觉都过不了面试. 无论是面测试.算 ...

最新文章

  1. LeetCode 38外观数列39组合总和
  2. 密码学研究-密钥长度限制
  3. WPS关于尾注的细节
  4. 推荐一个 Java 接口快速开发框架,超级nice!
  5. birt预览能有内容发布后没内容_VS Code 1.52 发布!
  6. (转)虚拟货币交易所时代结束
  7. 华为交换机做qos案例_华为交换机 01-08 QoS
  8. Zigbee 2006介绍+资料+源代码下载
  9. 三国群雄传ol服务器 修改,三国群英传OL DATA.PAK相关修改
  10. 关于SQL求同比、环比
  11. 中科矿业带你走进SWARM/BZZ,选择去或留?
  12. java opennlp_java-使用openNLP maxent的训练模型
  13. 蒲香仲夏、专注字体全产业链接研究-江西字研#174;所隆重揭牌
  14. 高性能网站架构之缓存篇—Redis集群搭建
  15. 问卷量表调研结果 - data 2022.2.27周五
  16. Jetbarins 手动离线安装升级包
  17. 【Java】程序制作Docker镜像 推荐方案
  18. 【服务器数据恢复】服务器硬盘黄灯的数据恢复案例分享
  19. 工作2年想从实施转开发还来的急吗?
  20. python 写入es_Python之利用Whoosh搭建轻量级搜索

热门文章

  1. [OHIF-Viewers]医疗数字阅片-医学影像-cornerstone-core-Cornerstone.js-Cornerstone Examples-基石实例-上...
  2. 计算机域名是什么域名?
  3. 【转】下一代密码模块安全标准探讨
  4. XSKY新一代分布式文件系统XGFS揭秘——元数据服务
  5. BT源代码学习心得(五):统一网络服务接口--RawServer -- 转贴自 wolfenstein (NeverSayNever)
  6. 登录本地MySQL数据库服务器
  7. jQuery详解(二) 函数和事件
  8. KSO-.NET 6 中的新增功能
  9. 王牌战争文明重启服务器维护中,王牌战争文明重启常见问题解答-王牌战争文明重启常见问题一览_牛游戏网...
  10. 使用Apriori算法寻找频繁样式(Frequent Patterns)