01 2021 档案
摘要:剑指 Offer 31. 栈的压入、弹出序列 Offer_31 题目详情: 解析: 这里需要使用一个栈来模仿入栈操作。 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/1/31 14:12 */ import
阅读全文
摘要:剑指 Offer 30. 包含min函数的栈 Offer_30 题目描述: 相似题目 剑指 Offer 30. 包含min函数的栈 面试题59 - II. 队列的最大值 155. 最小栈 题解分析: 题目其实考察的是栈的知识,本题的目的是使用两个栈来求解最小值。 第二个栈主要用来维护第一个栈中的最小
阅读全文
摘要:剑指 Offer 29. 顺时针打印矩阵 Offer_29 题目描述: 题解分析: 题目的初衷是将这道题当做一个简单题处理 这道题一开始想的太复杂了,其实可以参考迷宫广度优先搜索的过程,只不过在选定一个方向遍历时,除非遇到改变方向的情况,否则一直走下去。 需要注意的是:这里的方向二维数组(direc
阅读全文
摘要:剑指 Offer 26. 树的子结构 Offer 26 题目详情: 题解分析 解法一: 第一种比较容易想到的解法就是查看这两棵树的前序遍历和中序遍历序列是否都匹配。 因为前序遍历和中序遍历可以唯一确定一棵树,所以这种方法是有效的,尽管有些复杂。 解法二: 题目是要求一个树是否是另一棵树的子结构。 如
阅读全文
摘要:剑指 Offer 25. 合并两个排序的链表 Offer 25 该问题的原型就是多项式的合并。 实现较简单,没有特殊需要注意的问题。 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/1/26 21:04 */
阅读全文
摘要:剑指 Offer 24. 反转链表 Offer 24 题目描述: 常规解法 本题的解法很常规,没有其他特别的坑,只需要将链表反转即可。 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/1/26 20:29 *
阅读全文
摘要:剑指 Offer 22. 链表中倒数第k个节点 Offer 22 常规解法 常规解法其实很容易可以想到,只需要先求出链表的长度,然后再次遍历取指定长度的链接即可。 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 202
阅读全文
摘要:剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Offer 21 这题的解法其实是考察快慢指针和头尾指针。 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/1/26 19:44 */ /** * 题
阅读全文
摘要:剑指 Offer 20. 表示数值的字符串 Offer 20 常规解法: 题目解题思路:需要注意几种情况: 输入的字符串前后可能有任意多个空格,这是合法的。 正负号: (1)正负号只能出现一次。 (2)正负号后面一个字符必须是数字或者小数点。 (3)字符串中最多有两个正负号(正常情况下最多只有一个,
阅读全文
摘要:剑指 Offer 18. 删除链表的节点 Offer 18 本题就是简单的单链表删除节点的题目,需要处理边界的处理以及需要删除的结点是否是头结点。 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/1/25 2
阅读全文
摘要:剑指 Offer 17. 打印从1到最大的n位数 Offer 17 题目解析: 暴力解法 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/1/25 16:16 */ public class Offer_17
阅读全文
摘要:剑指 Offer 16. 数值的整数次方 Offer 16 题目解析: 快速幂算法: 时间复杂度分析: 注意:Java 代码中 int32 变量n∈[−2147483648,2147483647] ,因此当 n = -2147483648 时执行 n = -n 会因越界而赋值出错。解决方法是先将 n
阅读全文
摘要:剑指 Offer 15. 二进制中1的个数 Offer 15 题目描述: 方法一:使用1逐位相与的方式来判断每位是否为1 /** * 方法一:使用1逐位与的方法 */ public class Offer_15 { // you need to treat n as an unsigned valu
阅读全文
摘要:剑指 Offer 11. 旋转数组的最小数字 Offer 11 题目描述: 暴力解法:直接遍历整个数组,当后一个元素小于前一个元素则表示找到了最小值。 public class Offer_11 { public int minArray(int[] numbers) { int n = numbe
阅读全文
摘要:剑指 Offer 10- II. 青蛙跳台阶问题 Offer 10- II 题目描述: 动态规划方程: 循环求余: 复杂度分析: package com.walegarrett.offer; import java.util.Map; import java.util.TreeMap; /** *
阅读全文
摘要:剑指 Offer 47. 礼物的最大价值 Offer 47 题目描述: 状态转移方程: 空间复杂度优化: 复杂度分析: package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2020/12/12 9:08 */ /** *
阅读全文
摘要:需要配置Freeimage库 首先下载好FreeImage 找打dist目录下的x32目录,将.h文件放在包含目录下;将lib文件放在库目录下,将dll放在运行目录下 保存渲染结果到png格式的图像: void grab(const char * fileName) { unsigned char
阅读全文