首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
努力努力再努力✘
获赞
292
粉丝
57
关注
17
看过 TA
1277
男
陕西理工大学
2023
测试开发
IP属地:四川
迷茫
私信
关注
拉黑
举报
举报
确定要拉黑努力努力再努力✘吗?
发布(107)
评论
刷题
收藏
努力努力再努力✘
关注TA,不错过内容更新
关注
2022-05-22 16:21
已编辑
陕西理工大学 测试开发
剑指offer29 JZ30 包含min函数的栈
思路 首先初始化原始栈stack 和最小值栈stack_min(存储每次跟原栈中元素比较后的最小元素): 接下来插入(push) ‘1’这个元素,此时两个栈的变化如下图: 然后再插入(push) ‘2’这个元素,此时两个栈又变化如下图: 接着要获取栈顶元素,如下图: 而弹出栈顶元素,也直接调用pop函数 即可。 接着再次插入第三个元素 ‘1’,两个栈又发生如下变化👇: ![alt] 最后再次利用top函数获取到栈顶元素就变成了 1,调用min函数则获取最小值依然是 -1。 代码 import java.util.Stack; public clas...
0
点赞
评论
收藏
分享
2022-05-22 16:21
已编辑
陕西理工大学 测试开发
剑指offer28 JZ9 用两个栈实现队列
思路 借助栈的先进后出规则模拟实现队列的先进先出 1、当插入时,直接插入 stack1 2、当弹出时,当 stack2 不为空,弹出 stack2 栈顶元素,如果 stack2 为空,将 stack1 中的全部数逐个出栈入栈 stack2,再弹出 stack2 栈顶元素 代码实现 import java.util.*; public class Solution { //存放入栈元素 Stack<Integer> stack1 = new Stack<Integer>(); //存放出栈元素 Stack<Integer&g...
0
点赞
评论
收藏
分享
2022-05-21 19:52
陕西理工大学 测试开发
剑指offer27 JZ69 跳台阶
递归 思路 方法一:递归 题目分析,假设f[i]表示在第i个台阶上可能的方法数。逆向思维。如果我从第n个台阶进行下台阶,下一步有2中可能,一种走到第n-1个台阶,一种是走到第n-2个台阶。所以f[n] = f[n-1] + f[n-2]. 那么初始条件了,f[0] = f[1] = 1。 所以就变成了:f[n] = f[n-1] + f[n-2], 初始值f[0]=1, f[1]=1,目标求f[n] 看到公式很亲切,代码秒秒钟写完。 public class Solution { public int jumpFloor(int target) { if(targe...
0
点赞
评论
收藏
分享
2022-05-21 16:30
已编辑
陕西理工大学 测试开发
剑指offer26 JZ68 二叉搜索树的最近公共祖先
思路 我们也可以利用二叉搜索树的性质:对于某一个节点若是p与q都小于等于这个这个节点值,说明p、q都在这个节点的左子树,而最近的公共祖先也一定在这个节点的左子树;若是p与q都大于等于这个节点,说明p、q都在这个节点的右子树,而最近的公共祖先也一定在这个节点的右子树。而若是对于某个节点,p与q的值一个大于等于节点值,一个小于等于节点值,说明它们分布在该节点的两边,而这个节点就是最近的公共祖先,因此从上到下的其他祖先都将这个两个节点放到同一子树,只有最近公共祖先会将它们放入不同的子树,每次进入一个子树又回到刚刚的问题,因此可以使用递归。 递归 分析可知,对于节点 o1, o2 的最近公共祖先,只存...
0
点赞
评论
收藏
分享
2022-05-21 19:30
已编辑
陕西理工大学 测试开发
剑指offer25 JZ86 在二叉树中找到两个节点的最近公共祖先
思路 要想找到两个节点的最近公共祖先节点,我们可以从两个节点往上找,每个节点都往上走,一直走到根节点,那么根节点到这两个节点的连线肯定有相交的地方,如果是从上往下走,那么最后一次相交的节点就是他们的最近公共祖先节点。我们就以找6和7的最近公共节点来画个图看一下 递归 分析可知,对于节点 o1, o2 的最近公共祖先,只存在三种情况: o1 ,o2 分别位于root的左右子树上 o1 = root, 且 o2 位于root的左子树/右子树中 o2 = root, 且 o1 位于root的左子树/右子树中 1.当到达空节点(既叶子节点的子节点)时,直接返回空 2.当root等于 o1 或...
0
点赞
评论
收藏
分享
2022-05-21 15:23
陕西理工大学 测试开发
剑指offer24 JZ78 把二叉树打印成多行
难点实现 每一层分层 思路 题目要求将二叉树按行打印,即按层打印,其中每层分开。不难想到,要使用层次遍历,但是难点在于如何每层分开存储,从哪里知晓分开的时机?在层次遍历的时候,我们通常会借助队列(queue),事实上,队列中的值大有玄机,让我们一起来看看: 当根节点进入队列时,队列长度为1,第一层节点数也为1 若是根节点有两个子节点,push进队列后,队列长度为2,第二层节点数也为2;若是根节点一个子节点, - push进队列后,队列长度为为1,第二层节点数也为1. 由此,我们可知,每层的节点数等于进入该层时队列长度,因为刚进入该层时,这一层每个节点都会push进队列,而上一层的节点都出去了...
0
点赞
评论
收藏
分享
2022-05-19 23:13
已编辑
陕西理工大学 测试开发
剑指offer23 JZ28 对称的二叉树
面向测试用例编程 自己写的: 中序遍历将数据加入到数组,判断是否为回文对称,但是,这个代码有bug,无法通过特殊测试用例。 /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ import java.util.*; public class Solution { ArrayList<Integer>...
0
点赞
评论
收藏
分享
2022-05-19 21:40
陕西理工大学 测试开发
剑指offer22 JZ8 二叉树的下一个结点
思路 总概:进行中序遍历 将所有的节点添加到arraylist里面,然后在进行一次遍历对比,找到后返回相同节点的下一个节点。 注意:我们首先要根据给定输入中的结点指针向父级进行迭代,直到找到该树的根节点;然后根据根节点进行中序遍历,当遍历到和给定树节点相同的节点时,下一个节点就是我们的目标返回节点 具体做法: step 1:首先先根据当前给出的结点找到根节点 step 2:然后根节点调用中序遍历 step 3:将中序遍历结果存储下来 step 4:最终拿当前结点匹配是否有符合要求的下一个结点 /* public class TreeLinkNode { int val; ...
0
点赞
评论
收藏
分享
2022-05-18 08:34
已编辑
陕西理工大学 测试开发
pytest框架 基本使用
基本使⽤ 测试函数形式 """测试函数""" def test_func(): # 要求函数名以 test 开头 print('我是测试函数') 运行方式(命令) pytest -s 文件名 测试类方法 class TestDemo(object): # 类名以Test开头 def test_fun1(self): # 方法名test开头 print("测试1") def test_fun2(self): print("测试2") 主函数执行方式 说明: 使⽤主函数, 可以实现在代码⽂件内, ⿏标右键菜单执⾏ 使用案例 impor...
0
点赞
评论
收藏
分享
2022-05-17 10:54
已编辑
陕西理工大学 测试开发
数据驱动
数据驱动 1.1理论 什么是数据驱动? 以测试数据驱动用例执行(测试数据和代码分离) 为什么要数据驱动? 便于维护(维护的焦点从代码转到测试数据) 数据驱动如何操作? 1. 编写数据存储文件 2. 编写读取数据工具 3. 使用参数化引用 1.2实际操作 编写存储文件 口诀: 1、新建json文件,在文件中编写一个{} 2、有几个模块,写几个Key,值为列表 3、列表中参数化数据有几组,就写几个{} 3、每个{}中组成->说明+参数数据+预期结果 步骤1 编写json文件 { "login": [ {"desc": "登录成功", "use...
0
点赞
评论
收藏
分享
2022-05-17 10:32
陕西理工大学 测试开发
PO模式
PO模式 PO是什么? PO:Page Object(⻚⾯对象),将⾃动化涉及的⻚⾯或模块封装成对象。 PO能解决什么问题? 1、代码复⽤性 2、便于维护(脚本层与业务分离)-- 如果元素信息发⽣变化了,也不⽤去修改脚本。 PO如何做? Base层 存放所有⻚⾯公共⽅法。 Page层 基于⻚⾯或模块单独封装当前⻚⾯要操作的对象 Script层 1 脚本层+unittest 面试题: 什么是PO模式,为什么要使用它 PO是Page Object 模式的简称,它是一种设计思想,意思是,把一个页面,当做一个对象,页面的元素 和元素之间操作方法就是页面对象的属性和行为,P...
0
点赞
评论
收藏
分享
2022-05-16 23:18
陕西理工大学 测试开发
剑指offer21 JZ36 二叉搜索树与双向链表
题目要求生成的双向链表,是二叉搜索的中序遍历结果(从小到大的顺序),对遍历的结果修改左右结点指向。 具体的指针变化,如图 树结构指针,叶子结点的左右指针指向都为空; 生成的双向链表结点指针; 第一次 第二次 解题思路 变种的中序的遍历 使用二叉树的中序遍历可以获得一个要求链表结点的访问顺序; 在这个顺序中,我们要存储当前的结点cur和访问前的结点pre(cur的值一定是比pre小的), 修改pre和cur的左右指向,cur.right = pre; pre.left = cur; /** public class TreeNode { int val = 0; T...
0
点赞
评论
收藏
分享
2022-05-16 21:46
陕西理工大学 测试开发
五月记——卷
路漫漫其修远兮,吾将上下而求索。 屋内屋外似乎是两个世界,我能做的似乎只有静下心来继续卷。愿一切努力没有白费。
0
点赞
评论
收藏
分享
2022-05-16 20:40
陕西理工大学 测试开发
剑指offer20 JZ79 判断是不是平衡二叉树
我们都知道如何判断一棵二叉树是不是平衡二叉树,就是它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 左深度-右深度>1 不是平衡二叉树 求二叉树最大深度的变种 import java.util.*; public class Solution { boolean isBalanced = true; public boolean IsBalanced_Solution(TreeNode root) { if(root==null){ return true; } ...
0
点赞
评论
收藏
分享
2022-05-16 08:32
陕西理工大学 测试开发
剑指offer19 JZ84 二叉树中和为某一值的路径(三)
题目要求不一定从根节点出发到子节点结束,只是父子节点满足要求即可 思路 既然要找所有路径上节点和等于目标值的路径个数,那我们肯定先找这样的路径起点,但是我们不知道起点究竟在哪里,而且任意节点都有可能是起点,那我们就前序遍历二叉树的所有节点,每个节点都可以作为一次起点,即子树的根节点。 //以其子结点为新根 FindPath(root.left, sum); FindPath(root.right, sum); 查找路径的时候呢,也需要往下遍历,因此还可以继续前序遍历该子树,在遍历的过程遇到一个节点,sum相应减少,若是到最后往下的一个节点值正好等于剩下的sum,则找到一种情况。 ...
0
点赞
评论
收藏
分享
1
2
3
4
5
6
8
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客企业服务