![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
文章平均质量分 87
huihui5210
这个作者很懒,什么都没留下…
展开
-
高质量代码一代码完整性分析
高质量代码摘自《剑指Offer》,读者根据自己笔试在OJ平台答题中遇到的常见问题进行总结,分为一下3部分1、规范性2、完整性3、鲁棒性代码完整性从3个方面确保代码完整性1. 功能测试是否能正确处理得到结果,考虑常见细节 double 不能用等于判断2. 合法的输入面对异常输入 ,如何告诉代码异常3. 边界测试 例如: 最大正数,最大负数,0等 循环或递归的边界条件,base case是否考虑正确解决办法3种错误处理方式 1.函数用返回值来告知调用者是否原创 2021-03-31 17:05:20 · 662 阅读 · 0 评论 -
高质量代码二--代码鲁棒性应对OJ种常见错误
高质量代码《二》代码的鲁棒性常见的问题1、 int 计算时超过上限 2^31 ≈ 2*10^92、 使用包装类 Integer 常量池 超过-128 ~127的数进行比较3、 数的值大于long上限4、 计算精度 如 int /int 会有舍入误差ans1、 使用 long 或者 BigInteger或者自行处理避免超过ans2、 使用equals做检查ans3、 BigIntegerans4、 计算时 转为double,最后在进行舍入误差Java容器容器的最大容量原创 2021-03-31 16:59:25 · 244 阅读 · 0 评论 -
经典算法-02数据结构基础
02数据结构基础1、数组 连续空间2、链表 不连续,随机存储上述两种都是物理结构链表是一个容器,节点是其最小的单位,方法针对容器链接构造链表LinkListpublic class LinkList{// 用来存储链表的头部 private Node head; // 用来存储链表的尾部 private Node tail; public LinkList(){ // 初始化链表 initList(); }原创 2021-03-20 23:00:00 · 142 阅读 · 0 评论 -
面经经典算法-11暴力递归解题思路
11 暴力递归0、暴力递归本质:1,把问题转化为规模缩小了的同类问题的子问题2,有明确的不需要继续进行递归的条件(base case)3,有当得到了子问题的结果之后的决策过程4,不记录每一个子问题的解ps:递归函数(函数意义就是问题的解)先用后算,函数当成黑盒,可以直接当作该情况下所有的解!最精髓的地方在于,函数先用后算难点:对暴力递归函数的理解,怎么去定义它,它怎么去实现你想的目的解决:如上图所示,我们需要关心的主要是以下三点:整个递归的终止条件。一级递归需要做什么?应该返原创 2021-03-20 21:54:00 · 266 阅读 · 0 评论 -
面试算法系列-04比较器与堆
比较器与堆1、堆1.1、本质:根节点是最值的完全二叉树 树是满的状态,或者从左到右依次变满1.2、堆: 逻辑结构 本质:二叉树(按照宽度优先遍历建立起来) 实现:数组情况1 、0开始:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210115231815438.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9原创 2021-01-15 23:21:45 · 167 阅读 · 0 评论 -
面试算法系列02数据结构基础
数据结构基础1、数组 连续空间2、链表 不连续,随机存储上述两种都是物理结构链表是一个容器,节点是其最小的单位,方法针对容器构造链表LinkListpublic class LinkList{// 用来存储链表的头部 private Node head; // 用来存储链表的尾部 private Node tail; public LinkList(){ // 初始化链表 initList(); }原创 2021-01-15 23:01:51 · 67 阅读 · 0 评论 -
面试算法系列- 01排序算法总结
1 选择排序步骤:1在序列中找到最小(大)元素,存放到排序序列的起始位置。2 从剩余序列中继续寻找最小(大)元素,然后放到已排序序列的末尾。3 重复第二步,直到所有元素均排序完毕。(由于存在交换,所以不稳定)时间复杂度:O(n^2)额外空间复杂度:O(1)示例:public static void selectionSort(int[] arr) { if (arr == null || arr.length < 2) { return; } // 0~n-1原创 2021-01-13 18:05:07 · 171 阅读 · 0 评论