自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 树状数组总结

#树状数组:解决a[1]+a[2]+a[3]+…+a[n]的问题 其中 可能有操作会使a[i]发生变化一个特殊的数组 每个位置不一定保存该位置的值,而是保存前若干个位置的元素之和1、存储 :看二进制的后缀0的个数来确定例如: 13(1101)就存储2^0 = 1个位置的值 即就存储13这个位置的值12(1100)就存储2^2 = 4个位置的值 即存储12 11 10 9这个四个位置的值2、相加 :求a[1]+a[2]+…+a[i]首先把 i写成二进制 加入i位13 即计算数组下标从1-13的元

2022-04-04 23:18:57 83

原创 2021-11-05

关于远程部署的一些问题阿里云新手 关于阿里云防火墙和安全组的一些问题安全组是ECS的外部防火墙,请求放行后到了您的服务器,然后您的服务器也设置的有防火墙,这样请求会被您服务器防火墙进行拦截,所以您需要安全组及服务器内都放行。简而言之 就是服务器内部要放行网站的端口,安全组也要放行。外部安全组的放行可以在阿里云的控制端实现内部放行 可以参考linux命令:netstat -nltp|grep 8082iptables -L -nfirewall-cmd --list-all(查看放行端口列表

2021-11-05 21:16:57 122 1

原创 Hibernate 多对多的插入

可能会遇到的问题1.出现entry “xx-xxx” key is private这个问题是由于插入关联表中的数据并没有在已有表中持久化的原因比如说 student teacher student_teacher三张表 student和teacher多对多 student_teacher为中间表如果写new teacher 或者new student 进行关联 就会出错只能从现有表中查询(使用hql查询语句或其他)找现有的已经持久化的数据 才能进行关联2.出现主键对应错误这是由于双向保存的原因

2021-01-09 22:26:08 195

原创 关于hibernate的几点运用

1.如果使用hibernate 插入数据库出错排查以下原因a.这个类是否被注册为实体类(@Entity)b.hibernate的cfg文件是否包含了这个类的映射( )2.插入数据库中文乱码问题使用 jdbc:mysql:///graduationproject?useUnicode=true&characterEncoding=UTF-8其中“true”字符后面要原样输入&amp还有就是这个项目的编码也要使用utf-8...

2021-01-05 15:58:43 92

原创 LeetCode 面试题 17.14. 最小K个数

面试题 17.14. 最小K个数 LeetCode堆排序的一道题主要思路就是根据arr的前面k的数构造一个大根堆对于之后k~arr.length个数,每个元素与堆定元素比较,如果大于堆顶元素就把堆顶元素换掉之后重新构造大顶堆,需要注意的是重新构造大顶堆的时候只需要拍堆顶元素的位置就可以了,如果对整个堆重排的话可能会超时/** * @Description 我们写代码,靠的是技术(狗头) * @auther admin * @create 2020-07-09 17:46 */public

2020-07-10 15:00:36 175

原创 面试题 16.21. 交换和 LeetCode

一种数学解法首先统计出两个数组的和,记为sum1,sum2计算差值/2 就是要拿掉的两个元素的差(sum1-x = sum2+x) = >2x = |sum1-sum2|之后再两个数组中找这个差值的两个元素LeetCode有时间要求,所以不能使用两个for循环可以使用快速排序对其中的一个数组进行排序 (为了锻炼,这里没有库函数中快排的代码),之后遍历没有排序的那个数组,在已经排好序的数组中找到差值(折半查找)/** * @Description 我们写代码,靠的是技术(狗头) * @

2020-07-05 21:11:10 182

原创 922. 按奇偶排序数组 II LeetCode

注意while的循环判断条件的先后/** * @Description 我们写代码,靠的是技术(狗头) * @auther admin * @create 2020-07-04 20:09 */public class Solution922 { public void swap(int[] A,int odd,int even){ int temp; temp = A[odd]; A[odd] = A[even]; A[e

2020-07-04 20:33:45 107

原创 129. 求根到叶子节点数字之和 leetCode

参考了大佬的代码 自己写递归还是很吃力https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/comments//** * @Description 我们写代码,靠的是技术(狗头) * @auther admin * @create 2020-06-25 17:14 */public class Solution129 { public static class TreeNode { int val;

2020-06-25 20:52:45 84

原创 LeetCode 102. 二叉树的层序遍历

一个简单的数学解决方法一般来说 层序遍历要求我们使用的是队列这种数据结构这道题要求我们返回一个List<List>类型首先通过观察我们可以发现最外面那层list的大小是这棵树的层数 里面那层list的大小就是某一层的节点的个数比如这个例子 list里面有三层 代表这棵树有三层(这个表述不太准确,但是好理解)比如第二层中有两个节点,所以list中的2号list有两个数。由于队列先进先出的规则 我们不知道出队的元素究竟是这一行的还是下一行的(还是按刚才的例子来说,3,9,20,15,7,

2020-06-25 15:23:47 105

原创 LeetCode 743. 网络延迟时间

Dj算法 注意这个不是最小生成树 而是判断到达每个点的最小值中的最大值 ,用的应该是dj,最后遍历一遍dis数组注意dj的一些判断条件:1.退出条件 visited全部为true2.判断到达不到全部的定点:这个比较难判断,我是这么判断的,进行多轮判断后,dis数组一定不包含无穷(就是9999),如果包含无穷,就说明有点到达不到;也就是说 判断dis这个数组中的最小值时不能让index(代码中设置为N-1,为了不让下标越界,实际上这个index设置为无穷更好理解)为默认值。import java.u

2020-06-25 10:39:00 170

原创 leetCode 865/1123最深叶子节点的公共祖先

观察可以发现 最深叶子节点的公共祖先左右子树的高度一定相等,这个是解题的关键(这个很好理解,如果左右子树不等高,那么左右子树最深的节点一定不等高,就不满足“最深”这个条件,同理也可以想到,最深的叶子节点一定在高度更高的那颗树上面)接下来就简单了:调用关于计算树深度的算法,递归那个更高的子树注意return lcaDeepestLeaves(root.left);写法与直接return null的区别。/** * @Description 我们写代码,靠的是技术(狗头) * @auther ad

2020-06-23 17:27:23 183

原创 1042. 不邻接植花 LeetCode

搞不懂这题怎么能算简单题…这道题无论广度搜索还是深度搜索用处都不大…以广度优先搜索为例:如果同一层的节点直接包含路径 则很难被寻找到因策这道题可以考虑时候用邻接表的方式进行存储具体来时就是Map<Integer, Vector> map = new HashMap<>();这个。integer用来保存图的节点(无论是起点还是终点)因为这个无论如何都可以进行染色,所以不妨先把1染成颜色1之后每个图节点进行循环,确保每个节点之前的节点都已经被染色即可(例如第3个节点之前

2020-06-22 23:11:57 175

原创 98. 验证二叉搜索树

实际上是二叉树的中序遍历可以申请一个数组或者链表,然后通过中序遍历将值放到链表中,之后遍历这个链表看看是否符合从小到大的顺序import java.lang.reflect.Array;import java.util.LinkedList;import java.util.Queue;/** * @Description 我们写代码,靠的是技术(狗头) * @auther admin * @create 2020-06-20 16:16 */public class Solution

2020-06-21 16:37:03 107

原创 面试题 17.09. 第 k 个数/264. 丑数 II LeetCode

将符合题意的数字成为丑数以第一题为例,丑数序列为:1,3,5,7,9,15,21…可以看出 这个序列里最新的数都是由之前序列中的某一个数乘3\5\7得出的最小值比如15就是由53或者35得出,21由7*3得出等等不妨假设有三个指针 分别指向这个丑数序列 被第一个指针指向的数永远乘3,被第二个指针指向的数永远乘5,被第三个指针指向的数永远乘7。每当这个指针指向的数字被做乘法的时候,这个指针就向前移动一次(原因之前说过了,要找到这个序列中的某一个)public int getKthMagicNumb

2020-06-19 17:51:41 206

原创 173. 二叉搜索树迭代器 Leetcode

队列的简单运用先进先出中序遍历可以使用两个if来判断记得判断root是否为nullQueue queue = new LinkedList();和栈的申请略有不同import java.util.LinkedList;import java.util.Queue;/** * @Description 我们写代码,靠的是技术(狗头) * @auther admin * @create 2020-06-19 12:34 */public class BSTIterator {

2020-06-19 15:41:00 114

原创 leetcode 19. 删除链表的倒数第N个节点

一次遍历方法快慢指针设置两个指针 安排快的那个指针先走n个,之后慢的指针和快的指针一起走,直到快的指针走到链表尾,这时慢的那个指针正好指向了要删除节点的前一个节点 public static ListNode removeNthFromEnd(ListNode head, int n) { ListNode fir = head; ListNode sec = head; int index = n; while (index!=0){

2020-06-18 15:39:35 85

原创 LeetCode 9 回文

LeetCode 9 回文不使用数组方法思路就是不断对x取余数 将余数按位加到一个新的数;由于无法判断给的x是奇数位还是偶数位,所以我们要判断xn||x/10n```java/** * @Description 我们写代码,靠的是技术(狗头) * @auther admin * @create 2020-06-15 11:54 *//** * 假设我们的环境只能存储得下 32 位的有符号整数, * 则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢

2020-06-18 15:36:33 95

原创 LeetCode 41. 缺失的第一个正数

给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数简单的哈希碰撞检测 还没有复习到这题可以这么思考,如果这个数组是从1开始严格递增(1,2,3)的话nums.length就是这个数组的最大值,如果nums里面出现了比nums.length还大的值,说明:即使将数组排序,数组也不是严格递增的,所以我们只需要考虑小于nums.length的值就可以了可以开辟一个新的数组 将值放到对应的坐标下然后遍历一遍新的数组即可class Solution { public int firstMis

2020-06-15 19:55:20 85

CoinFilp.zip

用户仅可上传其享有知识产权或已取得相关权利人合法授权的资源或内容,用户不得在未经授权的情况下,上传任何可能涉及侵权的资源或内容,用户必须保证上传资源或内容不侵犯任何第三方的合法权益。用户不得未经著作权人同意擅自对他人的作品进行全部或部分复制、修改、改编、翻译、汇编、反向工程、反向编译、反向汇编或改写并进行上传。用户可以为介绍、评论、研究等目的,在合理范围内依法引用他人已经发表的作品,但应当注明作者姓名、作品名称,且不得侵犯著作权人及其他权利人的合法权益

2020-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除