Fork me on GitHub
Enpong

成长之路


  • 首页

  • 关于

  • 标签

  • 分类

  • 搜索

单例模式

发表于 2019-04-19 | 分类于 设计模式 , 创建型模式 | | 阅读次数:
字数统计: 94 | 阅读时长 ≈ 1
定义确保一个类只有一个实例,并提供该实例的全局访问点 。 数据结构 私有构造函数、私有静态变量、公有静态函数 保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量 分类懒汉式 饿汉式
阅读全文 »

责任链

发表于 2019-04-19 | 分类于 设计模式 , 行为型模式 | | 阅读次数:
字数统计: 313 | 阅读时长 ≈ 1
定义使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链发送该请求,直到有一个对象处理它为止。 数据结构 demo123456789101112public abstract class Handler { protect ...
阅读全文 »

机器人的运动范围

发表于 2019-04-18 | 分类于 编程 , 剑指offer | | 阅读次数:
字数统计: 337 | 阅读时长 ≈ 1
题目描述地上有一个 m 行和 n 列的方格。一个机器人从坐标 (0, 0) 的格子开始移动,每一次只能向左右上下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于 k 的格子。 例如,当 k 为 18 时,机器人能够进入方格 (35,37),因为 3+5+3+7=18。但是,它不能进入方格 ...
阅读全文 »

矩阵中的路径

发表于 2019-04-18 | 分类于 编程 , 剑指offer | | 阅读次数:
字数统计: 336 | 阅读时长 ≈ 1
题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如下面的矩阵包含了一条 bfce 路径。 思路回溯法: ...
阅读全文 »

旋转数组的最小数字

发表于 2019-04-18 | 分类于 编程 , 剑指offer | | 阅读次数:
字数统计: 441 | 阅读时长 ≈ 2
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 {3, 4, 5, 1, 2} 为 {1, 2, 3, 4, 5} 的一个旋转,该数组的最小值为 1。 思路在一个有序数组中查找一个元素可以用二分查找,二分查找 ...
阅读全文 »

矩形覆盖

发表于 2019-04-18 | 分类于 编程 , 剑指offer | | 阅读次数:
字数统计: 284 | 阅读时长 ≈ 1
题目描述我们可以用 2*1 的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 2*1 的小矩形无重叠地覆盖一个 2*n 的大矩形,总共有多少种方法? 思路由于小矩形的尺寸是2×1,所以有大矩形为2×n的存在,那么我们第一步就可以有两种处理方式: 第一步如果选择竖方向填充,那么该问题的规模 ...
阅读全文 »

斐波那契数列

发表于 2019-04-18 | 分类于 编程 , 剑指offer | | 阅读次数:
字数统计: 214 | 阅读时长 ≈ 1
题目描述求斐波那契数列的第 n 项,n <= 39。 思路 递归是将一个问题划分成多个子问题求解,动态规划也是如此,但是动态规划会把子问题的解缓存起来,从而避免重复求解子问题。 1234567891011public int Fibonacci(int n) { if( ...
阅读全文 »

用两个栈实现队列

发表于 2019-04-18 | 分类于 编程 , 剑指offer | | 阅读次数:
字数统计: 192 | 阅读时长 ≈ 1
题目描述用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。 思路in 栈用来处理入栈(push)操作,out 栈用来处理出栈(pop)操作。一个元素进入 in 栈之后,出栈的顺序被反转。当元素要出栈时,需要先进入 out 栈,此时元素出栈顺序再一次被反转,因此出栈顺序就和最开始入栈顺 ...
阅读全文 »

二叉树的下一个结点

发表于 2019-04-18 | 分类于 编程 , 剑指offer | | 阅读次数:
字数统计: 198 | 阅读时长 ≈ 1
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路 该节点的右子树不为空,则下一节点是该节点右子树中最左节点; 该节点的右子树为空,则下一节点是包含该节点的最小左子树的子树根节点。 ...
阅读全文 »

重建二叉树

发表于 2019-04-18 | 分类于 编程 , 剑指offer | | 阅读次数:
字数统计: 541 | 阅读时长 ≈ 2
题目描述根据二叉树的前序遍历和中序遍历的结果,重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 12preorder = [3,9,20,15,7]inorder = [9,3,15,20,7] 思路前序遍历的第一个值为根节点的值,使用这个值将中序遍历结果分成两部分,左部 ...
阅读全文 »
1234…7
Enpong

Enpong

地狱烂旗,有鬼扯过

68 日志
23 分类
80 标签
RSS
GitHub E-Mail
0%
© 2019 Enpong
博客全站共65.2k字