- 博客(9)
- 收藏
- 关注
原创 MyBatis #{}和${}的区别是什么?
{} 是参数 (预编译)${}是字符串替换符 (sql拼接)#{}很大程度上可以防止sql注入,更为安全,在参数传递的时候被认为一个字符串,会自动加上' ',比如传递的Id 为 123,则生成参数的时候显示为id=‘123’
2024-07-17 11:00:09
189
原创 什么是Mybatis?他的原理是 ?
mybatis是一款用于轻量级的半自动化持久层框架,是一种ORM(object realation mapper)框架,封装了所有大部分的jdbc操作以及设置查询参数和获取结果集的操作,支持自定义sql、存储过程和高级映射。与全自动持久层框架hibernate的区别就在于他需要自己编写sql语句,移植性低于hibernate,但是灵活性强。
2024-07-17 10:51:58
192
原创 力扣53 最大子数组和 java
本题经典贪心算法,因为这个条件是连续子序列,所以只要不断的算他的和,在取最大的就好,在这个过程中,只要是相加大,就记录,只要相加为负数了,那么这个子序列肯定是错误的,进行一下判断,加的这个数>0就从他开始从头算,<0就从0算,最后返回最大的就好。
2024-05-18 22:04:34
211
原创 力扣 376 摆动序列 java
在代码中,记录两个变量,一个记录上一个的差值,一个记录当前的差值,让两个变量在大于零和小于零摆动。记住,不需要在代码中删除元素,我们是模拟,符合条件长度++就可以。摆动序列的问题解法为贪心;可以理解为上下坡问题,上坡下坡必须。所以在递归中,模拟他每一次遇到的元素,计算差值比较即可。局部最优就是只有上下坡元素为一。
2024-05-18 21:54:02
460
原创 Dropping Balls UVA - 679 java 算法入门经典 小白秒懂
所以,一共有n个球,在经过一个节点的时候,如果他是奇数,就会有(n+1)/2个向左,n/2向右,偶数就是平方,总结得就是(n+1)/2向左,n/2向右,而这个n同时随着变化,然后,敲重点!这个这个咋这么熟悉,我这不刚学完吗,看我给他建个树,里面再给他加一个标识符,诶,这不就解决了吗,我直接暴力,懂的多一点,我给他用记忆法优化一下,秒了!实际上,这道题如果我们简单的归类一下 会发现小球的下落方向和他下落的顺序是有关系的,向左向右是和他下落的奇偶性有很强的相关关系,只不过小白不小心就忽落掉了。
2024-05-13 22:51:14
351
原创 java二叉树后序遍历 递归实现 小白狂喜
对于其中一个结点,递归到他的左叶子,所以他肯定没有右节点,打印的就是左,在往上一层,注意,往上一层的时候代码是在getAll(root.left, list)这里往下,去找他的右孩子,如果右孩子是叶子结点,打印,不是,把右边这个当成一个新的结点,重复上面的操作,直到根节点的左右孩子都打印完成,最后代码在getAll(root.right, list)后运行,将根节点打印,完成递归。二叉树的后序遍历是指先指按照左右中的顺寻进行遍历,也就是说,对于下面这个树。他递归的逻辑是2 4 5 3 1.
2024-05-10 23:32:10
411
2
原创 java二叉树递归遍历
先把当前节点打印,在递归到最左的节点, 每一次递归,若是存在左节点,说明当前节点root为父节点,打印,按照上图代码,也就是说代码一直在getAll(root.left );以上运行,打印出来左边节点后,在打印这个父节点的右节点,期间若是右节点有左节点,重复上面的过程,若是没有,则打印。也就是先把根节点打印, 递归到最深的左根节点,期间不断压印相对的父节点, 把最深的左根节点打印后,在搜索最深左根节点父节点的右节点,期间在进行不断的重复;所有,在递归中,递归的结束条件是到一个为空的节点。
2024-05-10 00:54:52
336
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人