- 博客(151)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
转载 水印种类及原理概念?
其中的水印信息可以是作者的序列号、公司标志、有特殊意义的文本等,可用来识别文件、图像或音乐制品的来源、版本、原作者、拥有者、发行人、合法使用人对数字产品的拥有权。脆弱数字水印主要用于完整性保护,与鲁棒水印的要求相反,脆弱水印必须对信号的改动很敏感,人们根据脆弱水印的状态就可以判断数据是否被篡改过。按水印所附载的媒体,我们可以将数字水印划分为图像水印、音频水印、视频水印、文本水印以及用于三维网格模型的网格水印等。按水印的用途,我们可以将数字水印划分为票据防伪水印、版权保护水印、篡改提示水印和隐蔽标识水印。
2023-11-14 19:19:08
1653
原创 20230504 - 二叉树3 | 104. 二叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数
【代码】20230504 - 二叉树3 | 104. 二叉树的最大深度、111. 二叉树的最小深度、222. 完全二叉树的节点个数。
2023-05-10 15:42:51
309
原创 20230503 - 二叉树2 | 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树
二叉树的层序遍历,就是图论中的广度优先搜索在二叉树中的应用,需要借助队列来实现(此时又发现队列的一个应用了)。左右都不为空,比较节点数值,不相同就return false。左节点为空,右节点不为空,不对称,return false。此时左右节点不为空,且数值也不相同的情况我们也处理了。左不为空,右为空,不对称 return false。117.填充每个节点的下一个右侧节点指针II。116.填充每个节点的下一个右侧节点指针、左右都为空,对称,返回true。102.二叉树的层序遍历。199.二叉树的右视图。
2023-05-10 15:06:59
845
原创 20230502 - 二叉树1 | 二叉树理论基础、二叉树的递归遍历
如果父节点的数组下标是 i,那么它的左孩子就是 i * 2 + 1,右孩子就是 i * 2 + 2。每次写递归,都按照这三要素来写,可以保证大家写出正确的递归算法!二叉树可以链式存储,也可以顺序存储。用数组来存储二叉树如何遍历的呢?
2023-05-08 16:21:32
633
原创 20230501 - 栈与队列3 | 239. 滑动窗口最大值、347. 前 K 个高频元素
【代码】20230429 -栈与队列3 | 239. 滑动窗口最大值、347. 前 K 个高频元素。
2023-05-08 15:36:25
110
原创 20230429 -栈与队列2 | 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
【代码】20230429 -栈与队列2 | 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值。
2023-05-06 15:41:36
90
原创 20230428 -栈与队列1 | 232. 用栈实现队列、225. 用队列实现栈、Queue和Deque异同介绍
如果把条件放松一下,允许两头都进,两头都出,这种队列叫双端队列(Double Ended Queue),学名Deque。下面一种错误的写法,why?错在pop和top都进行了一次移除并追加操作。我们知道,Queue是队列,只能一头进,另一头出。Queue和Deque异同介绍。
2023-04-28 10:22:59
531
原创 20230424 - 哈希表 | 242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
时间复杂度O(m+n) 空间复杂度O(1)
2023-04-27 11:43:50
146
原创 20230425 | 344. 反转字符串、541. 反转字符串 II、剑指 Offer 05. 替换空格、151. 反转字符串中的单词、剑指Offer58-II.左旋转字符串
其实在遍历字符串的过程中,只要让 i += (2 * k),i 每次移动 2 * k 就可以了,然后判断是否需要有反转的区间。所以当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章。因为要找的也就是每2 * k 区间的起点,这样写,程序会高效很多。
2023-04-27 10:43:46
97
原创 20230422 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142. 环形链表 II
那么相遇时: slow指针走过的节点数为: x + y, fast指针走过的节点数:x + y + n (y + z),n为fast指针在环内走了n圈才遇到slow指针, (y+z)为 一圈内节点的个数A。可以使用快慢指针法,分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。为什么fast 走两个节点,slow走一个节点,有环的话,一定会在环内相遇呢,而不是永远的错开呢。
2023-04-23 14:32:37
531
原创 20230421 | 203. 移除链表元素、707. 设计链表、206. 反转链表
方法1:不添加虚拟节点方式,但是要注意处理删除头部的数据。时间复杂度 O(n)空间复杂度 O(1)
2023-04-21 20:51:32
181
原创 20230420 | 977. 有序数组的平方、 209. 长度最小的子数组、59. 螺旋矩阵 II
1、977. 有序数组的平方方法1:使用暴力法,一遍for,一次排序。这个时间复杂度是 O(n + nlogn), 可以说是O(nlogn)的时间复杂度。class Solution { public int[] sortedSquares(int[] nums) { //先计算出平方 for(int i=0;i<nums.length;i++){ int sum = nums[i]*nums[i]; n
2023-04-20 20:44:53
619
原创 20230419 | 704.二分查找、27.移除元素
计算中点: int mid = l+((r-l)>>1);第一次计算中点:int mid = l+(r-l)>>1;特征:数组是升序的找某个数,那就使用二分法。时间复杂度O(log n),空间复杂度O(1)暴力法,找到目标值,然后后面的数全部往前移动一位,数组大小减一。注意:int mid = (l+r)/2;双指针法,用一个for代替两个for,时间复杂度为O(n)快指针:寻找新数组的元素 ,新数组就是不含有目标元素的数组。时间复杂度:O(n^2) ,空间复杂度:O(1),比较的是数组里面的值。
2023-04-19 18:17:10
843
原创 360浏览器+Adobe Acrobat DC实现在线预览PDF大样校对
甲方:实现方正PDF文字大样校对,校对后在360浏览器中新开一个页面在线预览PDF文字大样校对结果。
2023-04-12 10:51:03
2770
原创 记一次idea+Dockerfile+docker部署
idea的server的docker部分会有日志访问容器所在服务器ip:映射到服务器的端口/项目名 所以这个项目的访问地址为http://192.168.175.130:8099/app。
2023-04-11 17:02:04
835
原创 EtherNet/IP网络模型
在下图中,CIP 协议由服务请求,请求对象类型,对象实例构成,最后是请求的数据,这里Wireshark自动识别出了数据格式符合CIP connection manager的格式。设备发现 (ListIdentity Command),该指令通过UDP 广播发送给所有网络中的设备,接收到消息并且支持EtherNet/IP的设备会返回自身的身份信息。一般都是两个Item,一个地址项,一个数据项,随后是具体CIP命令。下图为EtherNet/IP的头部格式,其中包括指令,长度信息,会话句柄,状态,等。
2023-03-22 10:37:17
2534
原创 第8章试题
A. 中医药观光旅游 B. 中医药购物旅游 C. 中医药体验旅游 D. 中医药科普教育旅游 E. 中医药医疗旅游。【判断题】《中医药健康服务发展规划纲要(2015-2020)》是由国务院发布的。【判断题】中医药健康旅游产业创业的目标是:传承弘扬和创新发展传统中医药。【判断题】中医药健康旅游产业的载体是:独特且底蕴深厚的中医药资源。【单选题】下列不属于中医药旅游观光的中人文景观的是( )【多选题】中医药健康旅游产业是( )产业的拓展和衍生。【多选题】下列可作为中医药体验旅游的有( )
2023-03-21 16:45:59
467
原创 二叉树系统刷题1
前序遍历的时候我们采用的是“根左右”的遍历次序,如果这棵二叉树是对称的,即相应的左右节点交换位置完全没有问题,那我们是不是可以尝试“根右左”遍历,按照轴对称图像的性质,这两种次序的遍历结果应该是一样的。二叉搜索树是一种特殊的二叉树,它的每个节点值大于它的左子节点,且大于全部左子树的节点值,小于它右子节点,且小于全部右子树的节点值。二叉搜索树最左端的元素一定最小,最右端的元素一定最大,符合“左中右”的特性,因此二叉搜索树的中序遍历就是一个递增序列,我们只要对它中序遍历就可以组装称为递增双向链表。
2023-03-21 16:26:58
490
原创 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
思路新建一个数组res 用来保存调整完成的数组。遍历两次nums,第一次遍历时把所有奇数依次追加到res 中,第二次遍历时把所有偶数依次追加到 res 中。代码时间复杂度:O(n),其中 n 为数组nums 的长度。需遍历nums 两次。空间复杂度:O(1)。结果不计入空间复杂度。
2022-12-13 11:14:17
191
原创 缓存穿透、缓存雪崩、缓存击穿
缓存击穿问题也叫热点Key问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击。缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。
2022-10-20 17:02:09
115
原创 mysql5.7新建用户与授权
由于考虑到 公司的数据安全情况,所以对应的项目数据库权限进行相关的控制操作。mysql 用户权限之创建新用户并给授权指定的数据库权限。
2022-10-13 13:57:49
3539
1
原创 使用Cookie时导致的问题之基础拓展--setDomain、setPath和localhost与127.0.0.1的区别和cookie与session的区别
使用Cookie时导致的问题之基础拓展--setDomain、setPath和localhost与127.0.0.1的区别
2022-10-13 11:23:26
1435
原创 mysql需要开启bin_log权限,配置文件添加之后mysql无法启动
添加bin_log的主要目的是用于数据库同步, mysql的同步的数据中是包含server-id的,用于标识该语句最初是从哪个server写入的,所以server-id一定要有的。解决方法:在配置文件中添加server_id字段。linux环境下 vi /etc/my.cnf。添加之后重启服务,mysql启动成功。
2022-09-20 16:55:16
624
原创 javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping
【代码】javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping。
2022-09-19 16:27:30
4224
1
原创 ConcurrentHashMap相关概念
因为多个线程访问HashTable的同步方法时,可能会进入阻塞或轮询状态。如线程1使用put进行添加元素,线程2不但不能使用put方法添加元素,并且也不能使用get方法来获取元素,所以竞争越激烈效率越低。刚刚说的一段一段就是指Segment,它继承了ReentrantLock,具备锁和释放锁的功能。JDK1.7中,ConcurrentHashMap使用的锁分段技术,将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。
2022-09-13 11:09:27
254
原创 104. 二叉树的最大深度
递归实现最简单:当节点为null,则返回0;当节点不为空时,求孩子节点中,深度最大的那个值;最后返回孩子节点中,深度最大值+1。方法一:递归法,枢机递归三部曲。第一步确定输入输出;第二步确定终止条件;第三步确定单层递归的逻辑。
2022-09-05 10:36:18
125
原创 101. 对称二叉树
比较二叉树外侧是否对称:传入的是左节点的左孩子,右节点的右孩子。如果左右都对称就返回true ,有一侧不对称就返回false。左节点为空,右节点不为空,不对称,return false;左右都不为空,比较节点,不同就要return false;比较内测是否对称,传入左节点的右孩子,右节点的左孩子。左不为空,右为空,不对称 return false;左右都为空,对称,return true;方法三:迭代法,使用普通队列。返回值为boolen类型。
2022-09-05 10:08:29
206
原创 27.移除元素-双指针法
nums 中的前两个元素均为 2。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。输入:nums = [3,2,2,3], val = 3 输出:2, nums = [2,2] 解释:函数应该返回新的长度 2, 并且。输入:nums = [0,1,2,2,3,0,4,2], val = 2 输出:5, nums = [0,1,4,0,3]解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0,.
2022-08-04 11:15:01
158
转载 mybatis 一对多(collection)分页查询解决方案
在使用分页工具类进行分页操作时,如果使用一对多查询,会造成查询出来每一页数据数量不等于实际规定的每一个数据数量。原因在于,一对多查询的结果是包含了与子表链接的数据,例如在查询10个订单(order_header)数据时,假如有两个订单均包含2条订单条目(order_detail)数据,那么最终查询的10条数据只有8条order_header表的数据。通常,我们为了解决这种问题,首先会先获取到10条order_header数据,然后在遍历订单数据分别获取每一条订单数据的订单条目数据,这样会浪费数据库的执行
2022-06-30 12:00:13
6561
3
转载 java事务遇到try,catch失效的解决办法
1.数据库是否支持事务(mysql的MyIsam不支持事务)2.注解所在的类是否被加载成Bean3.注解所在方法是否被修饰为public4.是否发生自调用问题5.所用数据源是否加载了事务管理器6.扩展配置propagation是否正确7.异常被捕获8.异常抛出类型不对其实发生最多就是自身调用、异常被吃、异常抛出类型不对这三个了。1.可在catch中抛出运行时异常throw new RuntimeException(e)(注:默认回滚的是RuntimeException,如果你想触发其他异常的回
2022-06-23 11:23:02
3255
原创 java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver
在java IDEA中运行没有问题,部署打包jar,一跑就报如下错误。在网上看到的解决方案大致概括如下:
2022-06-17 16:08:45
2586
sqlncli工具.rar
2021-10-03
学生在线考试功能的设计与实现
2019-04-28
毕设-图书销售系统-asp.net+sqlserver
2019-04-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人