算法类
小鱼爱吃菜
在探索真理的道路上也一定要热爱生活呀
展开
-
浅讲一下二分查找
总的来说,在写代码的过程中是真的需要有成就感才能写下去的,明怀我呢现在想的就是重新找回这份成就感,不断写,不断调试和总结,希望自己秋招顺利吧!原创 2022-08-30 14:51:27 · 211 阅读 · 0 评论 -
设计模式之享元模式
代码 首先呢,这个享元模式是模拟围棋来产生的 棋子接口Chesspiece是抽象享元,该接口中规范一个落子put()方法,对棋子的坐标进行定位。 Chesspiece.java package xiangyuan; public interface Chesspiece { void put(int x,int y); } 接下来就是创建一个接口的实现类,这个类的方法呢就是在其对应的类中实现了接口之后还要编写一个构造方法来记录颜色这样的东西,在这里面 ChesspieceFlyweight.j原创 2021-09-11 10:58:49 · 93 阅读 · 0 评论 -
剑指offer顺时针打印矩阵
题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 解题思路 首先我们可以自己画一个矩阵,然后根据顺时针的方式从外向里打印出来,如下图所示: 考虑到它的每一个边界的话,注意看图, 当我从左遍历到右边的时候,是不是上边界就变大了,然后加以=1,判断t大于b 从上到下,也就是说,当遍历完之后,发现的就是有边界r减一,判断l是否>r 从右向左,遍历完了之后,发现的是下边界存在变化,也就是下边界加1,这个时候就是判断是否下边界小于上边界t 从下向上的话,就是左边界加1,判断左边界是否大于原创 2021-09-08 11:34:53 · 60 阅读 · 0 评论 -
美丽的二叉树算法
二叉树的后序遍历非递归算法 对于树的遍历我们最常用的三种遍历方法分别是前序遍历、中序遍历和后序遍历,使用的方法是深度优先遍历树的每一个节点,这些遍历方法都是使用递归函数来进行实现的,在数据量大的情况下是比较低效的,原因在于系统帮助我们调用了一个栈并且做了诸如保护现场和恢复现场等复杂的操作,才使得遍历可以使用非常简单的代码来实现,所以我们可以模仿系统中调用的栈自己可以来写一下栈,模仿其中的过程就可以完成对于三种遍历算法的实现,使用自定义的栈来代替系统栈可以得到效率上的提升,下面是对于后序遍历的非递归算法的原创 2020-12-07 15:22:45 · 104 阅读 · 0 评论