- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 34_剑指offer_java_二叉树中和为某一值的路径
目录题目描述测试用例题目考点解题思路参考解题题目描述输入一颗二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下直到叶节点所经过的节点形成一条路径。二叉树节点的定义如下:public class BinaryTreeNode { int value; BinaryTreeNode left; Binary...
2020-01-31 21:48:35 82
原创 33_剑指offer_java_二叉搜索树的后序遍历序列
目录题目描述测试用例解题思路参考解题举一反三题目描述输入整数数组,判断该数组是不是某个二叉搜索树的后序遍历结果。是,返回true;不是,false。假设输入的数组任意两个数字互不相同。测试用例功能测试(输入的后序遍历序列对应一颗二叉树,包括完全二叉树、所有节点都没有左/右子树的二叉树、只有一个节点的二叉树;输入的后序遍历没有对应的一颗二叉树) 特殊输...
2020-01-31 11:53:15 106
原创 剑指offer_java_之字形打印二叉树
题目之字形打印二叉树:第一行从左到右,第二行从右到左分析如图所示,在打印某一层的节点时,需要把下一层的子节点保存到栈中。步骤 层数 操作(还需加上奇偶层的操作) stack1的节点(保存当前打印节点的子节点,先左后右。触发条件:当前节点为奇数层) stack2的节点(先右后左。触发:当前节点为偶数层) 1 1 打印节点1 2,3 ...
2020-01-29 18:02:29 119
原创 32_剑指offer_java_从上到下打印二叉树
题目描述从上到下打印二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如下图,则依次打印出1,2,3,4,5,6,7。二叉树节点如下:public class BinaryTreeNode { int value; BinaryTreeNode left; BinaryTreeNode right;}测试用例功能测试(完...
2020-01-25 12:57:26 144
原创 31_剑指offer_java_栈的压入、弹出序列
目录题目描述测试用例题目考点解题思路参考解题tip(关于空栈错误,使用peek函数的条件):题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是或否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可...
2020-01-22 17:18:34 119
原创 30_剑指offer_java_包含min函数的栈
目录题目描述测试用例题目考点解题思路参考解题题目描述定义栈的数据,请在该类型中实现一个能够找到栈的最小元素的min函数。在该栈中,调用min、push及pop的时间复杂度都是O(1)。测试用例新压入栈的数字比之前的最小值大。 新压入栈的数字比之前的最小值小。 弹出栈的数字不是最小元素。 弹出栈的数字是最小元素。题目考点考...
2020-01-22 15:40:14 159
原创 29_剑指offer_java_顺时针打印矩阵
目录tip:Java中获取二维数组的行列:题目描述测试用例题目考点解题思路参考解题tip:Java中获取二维数组的行列:1.二维数组本质是一维数组,行数=数组名.length,列数=数组名[0].length;2.列数=数组名[0].length这句之前要判断数组是否为空,若为空则数组名[0]所代表的子数字不存在,会报错。题目描述输入一个矩阵...
2020-01-20 21:14:05 131
原创 28_剑指offer_java_对称的二叉树
目录树的遍历(持续更新):1、前序遍历;2、后序遍历;3、中序遍历;题目解题思路参考解题树的遍历(持续更新):1、前序遍历;2、后序遍历;3、中序遍历;题目请实现一个函数,用来判断一颗二叉树是不是对称的。如果一颗二叉树和它的镜像一样,那么它是对称的。如下图:public class BinaryTreeNode { ...
2020-01-19 22:37:35 137
原创 27_剑指offer_java_二叉树镜像
目录题目测试用例题目考点解题思路自己解题参考解题补充学会画图理解,按照书中的步骤画图,分析。面试时,可以画图给面试官分析,展示自己的思路。题目请完成一个函数,输入一颗二叉树,请函数输出它的镜像。二叉树节点的定义如下:public class BinaryTreeNode { double value; BinaryTreeNode...
2020-01-16 17:31:05 116
原创 26_剑指offer_java_树的子结构
目录题目描述测试用例题目考点解题思路自己解题参考解题补充题目描述输入两棵二叉树A和B,判断B是不是A的子结构测试用例功能测试(树A和树B都是普通的二叉树;树B是或者不是树A的子结构) 特殊输入测试(两颗二叉树的一个或者两个根节点为空指针;二叉树的所有节点都没有左子树或者右子树)题目考点考察应聘者对二叉树的遍历算法的理解及递归编程能力 ...
2020-01-16 15:17:54 126
原创 25_剑指offer_java_合并两个排序的链表
目录题目描述测试用例题目考点解题思路自己解题题目描述输入两个单调递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。例如下图中的链表1和链表2,则合并之后的升序链表如链表3所示。链表的节点定义如下:public class ListNode { int val; ListNode next = null;}测试用例功能测...
2020-01-16 11:36:44 116
原创 24_剑指offer_java_反转链表
目录题目描述测试用例题目考点解题思路自己解题(两个指针)参考解题(参考书上,三个指针)题目描述定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。链表节点定义如下:public class ListNode { int val; ListNode next = null;}测试用例功能测试(输入的链表...
2020-01-16 11:03:24 192
原创 机器学习_SVM实现多分类_持续更新
目录导语:直接法间接法(1)一对多法(one-versus-rest,简称OVR SVMs)(2)一对一法(one-versus-one,简称OVO SVMs或者pairwise)导语:直接方法尽管看起来简洁,但是在最优化问题求解过程中的变量远远多于第一类方法,训练速度不及间接方法,而且在分类精度上也不占优。当训练样本数非常大时,这一问题更加突出。正因如此,...
2020-01-15 21:40:14 1292
原创 23_剑指offer_java版本_链表中环的入口点
目录题目描述测试用例题目考点解题思路自己解题参考解题题目描述如果一个链表中包含环,如何找出环的入口节点?例如,在如下图所示的链表中,环的入口节点是节点3。测试用例功能测试(链表中包含或者不包含环;链表中有多个或者只有一个节点) 特殊输入测试(链表头节点为空指针)题目考点考察应聘者对链表的理解。 考察应聘者所写代码的鲁棒性(考虑的全面性)...
2020-01-15 16:30:17 114
原创 22、剑指offer_java版本_链表中倒数第k个节点(正数第n-k+1个)
目录题目描述测试用例题目考点解题思路参考解题补充题目描述输入一个链表,输出该链表中倒数第k个结点。节点定义如下:public class ListNode { int val; ListNode next = null;}测试用例功能测试(第k个节点在链表的中间;第k个节点是链表的头结点;第k个节点是链表的尾结点)...
2020-01-15 11:31:45 226
原创 java基础_多线程_lambda表达式_简化表达
整体思想:避免匿名内部类定义过多 其实质属于函数式编程的概念推导lambda表达式(用一次)的使用:下面我们来推导一下lambda表达式:以线程为例:首先我们可以使用静态类内部类实现一个线程:/*** lambda表达式 (用于简单的线程体);*/public class LambdaThread { //静态内部类(使用时才会编译,不...
2020-01-14 19:15:08 276
原创 21、调整数组顺序是奇数位于偶数前面
目录题目描述测试用例题目考点解题思路只完成基本功能的解法考虑可扩展的解法题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。测试用例功能测试(输入数组中的奇数、偶数交替出现;输入的数组中所有偶数都出现在奇数的前面;输入的数组所有奇数都出现在偶数的前面) 特殊输入测试(输入空指针;...
2020-01-14 17:17:30 91
原创 java三种代理模式(持续更新)
目录什么是代理?1、静态代理2、动态代理3、cglib代理Java的三种代理模式,持续学习更新,今天主要学了静态代理,类比生活中的服务提供机构(代理),代理向目标对象提供完成一件事情的方法,使得完成目标行为的效率提高。举个例子,我们生活中经常到火车站去买车票,但是人一多的话,就会非常拥挤,于是就有了代售点,我们能从代售点买车票了。这其中就是代理模式的体现,代售点代理...
2020-01-14 14:38:35 160
原创 20、表示数值的字符串
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串 "+100","5e2","-123","3.1416" 和 "-1E-16" 都表示数值。但是 "12e","1a3.14","1.2.3","+-5" 和 "12e+4.3" 都不是。测试用例功能测试(正数或者负数;包含或则不包含正数部分的数值;包含或者不包含小数部分的数字;包含或者不包含指数部分...
2020-01-08 19:13:42 125
原创 19、正则表达式匹配
题目描述请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配。测试用例功能测试(模式字符串里包含普通字符、‘.’、‘*’;模式字符串和输入字符串匹配...
2020-01-07 21:07:19 154
原创 18、删除链表中节点
题目描述在O(1)时间内删除链表节点。在给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。链表节点与函数定义如下:public class ListNode { int val; ListNode next = null;}void deleteNode(ListNode head, ListNode toBeDele...
2020-01-02 18:41:08 186 1
原创 模拟龟兔赛跑_理解使用Runable接口实现多线程
人勤快怎么都不会差到哪儿去。。。package com.pt.thread;/** * 模拟龟兔赛跑 * * @author tyler * */public class Racer implements Runnable { private static String winner;// 胜利者 @Override public void run() { ...
2020-01-02 15:01:48 247
原创 多线程_创建线程
1、实现方式 2、具体实现方法 3、优势劣势比较实现方式三种方式实现多线程1)继承Thread类创建线程方式一 * 1、创建:继承Thread + 重写run * 2、启动:创建子类对象 + 调用start函数启动(开启线程)package com.pt.thread;/** * 创建线程方式一 * 1、创建:继承Threa...
2020-01-02 14:06:49 173 1
原创 多线程概念
1_概念真正的多线程是同时进行的,并行的;现实中的多线程大多是在很短的时间内切换不同的任务,只是切换时间很短,表象上是同时进行的。2、程序、进程、线程的区别程序是静态的进程,是cpu读取到的程序,是动态的线程,是进程中多开的线程...
2020-01-02 13:59:21 190
Dubbo文档.docx
2020-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人