- 博客(344)
- 资源 (31)
- 收藏
- 关注
原创 git 常用语句总结
部分转载自:http://blog.csdn.net/dengsilinming/article/details/8000622git 作为常用的版本管理工具,在开发中被大量使用,基于其的可视化工具比较好用的是sourceTree 和tortoiseGit 期中sourceTree 在windows 和 mac端都有 tortoiseGit 有windows版本 mac版目前还没有。
2017-09-16 12:35:12 8232 2
原创 java 并发AQS 理解
但是,通过在节点中显式地维护前驱节点,CLH 锁就可以处理“超时”和各种形式的“取消”:如果一个节点的前驱节点取消了,这个节点就可以滑动去使用前面一个节点的状态字段。AQS 中显式的维护前驱节点和后继节点,需要释放锁的节点会显式通知下一个节点解除阻塞,如下图所示,T1 释放锁后主动唤醒 T2,使 T2 检测到锁已释放,获取锁成功。其次锁状态去中心化,让每个线程在不同的状态变量中自旋,这样当一个线程释放它的锁时,只能使其后续线程的高速缓存失效,缩小了影响范围,从而减少了 CPU 的开销。
2023-10-13 17:24:04 178
原创 leetcodeTop100 动态规划相关(爬楼梯,杨辉三角,打家劫舍)
所以第一可以用递归,但这个在验证的时候超时了,第二种方法就是建立一个长度为n的数组sum,第一个是1,第二个是2,其余的每一个都是它钱两个的和,返回sum[n-1]就可以了,空间复杂度是o(n)n阶的最后一步,要么是爬1阶,也就是从n-1阶爬1阶上来,要么是爬2阶,也就是从n-2阶爬两阶上来,所以就有f(n) = f(n-1)+f(n-2);用递归的思想,假设n阶的时候是f(n),那么n-1阶是f(n-1),n-2阶是f(n-2),//每次你可以爬 1 或 2 个台阶。1个的时候是1种,2个的时候是2种,
2023-10-11 15:14:54 165
原创 leetcodeTop100(32) 合并链表数组
输入:lists = [[1,4,5],[1,3,4],[2,6]]请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。输出:[1,1,2,3,4,4,5,6]
2023-09-28 10:14:04 159
原创 LeetcodeTop100 (30) 随机链表复制
采用hashmap的方式,将新链表节点与旧链表一一映射,然后再根据就链表的映射关系来映射新链表。指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。节点组成,其中每个新节点的值都设为其对应的原节点的值。的链表,每个节点包含一个额外增加的随机指针。,该指针可以指向链表中的任何节点或空节点。那么在复制链表中对应的两个节点。例如,如果原链表中有。返回复制链表的头节点。
2023-09-27 18:00:43 98
原创 zookeeper mac安装
这边工作中用到了zookeeper组件,但自己独立安装弄的不太多,这边本机mac装一个做测试使用以下是安装记录,可以作为参考从以下链接zookeeper版本列表,可以选择自己要用的版本。
2023-09-27 15:09:52 1032
原创 git 设置ignore文件
3. 文件已经被Git跟踪:如果你在设置.gitignore文件之前已经将文件添加到Git仓库并提交了更改,那么.gitignore文件对于已经被Git跟踪的文件是无效的。从此以后,Git将忽略.gitignore文件中指定的文件和目录,并且它们不会出现在git status、git add和git commit等命令的结果中。2. 编辑 .gitignore 文件,按照如下规则过滤需要忽略的文件或者文件夹。# 忽略特定目录及其子目录中的特定文件(例如忽略"logs"目录下的所有.log文件)
2023-09-26 09:26:35 4170
原创 leetcodetop100(29) K 个一组翻转链表
方法一:将链表先变成List数组,List数组按K大小分成n块(有余数就为第n+1块),每块翻转(第n+1块不翻转),然后组成一个新的List数组,在按照新的list数组拼接成新的链表返回。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。时间复杂度O(n) 空间复杂度O(n) (比较好理解的做出来)你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。
2023-09-25 18:37:53 511
原创 leetcodetop100(28) 两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)两两交换链表中的节点。
2023-09-25 17:14:34 141
原创 leetcodeTop100(27) 删除链表的倒数第N个节点
直接就是先遍历链表计算长度len,然后在遍历找到第len-n+1个节点(要删除的前一个节点)这个节点next指向他的next.next就可以了。时间复杂度o(n),空间复杂度o(1)给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。
2023-09-25 16:49:10 171
原创 leetcodeTOP100(26)两数相加
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。存在进位,进位最多为1。
2023-09-25 16:13:21 147
原创 leetcodeTop100(25)合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]
2023-09-25 15:25:45 175
原创 leetcode Top100(24) // 环形链表2
为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。此时慢指针移动了s+a步 快慢指针此时差额是s+a-a = s = nb,刚好是环的整数倍,必定在环中重合了。快慢指针都是从head开始移动 快指针每次移动2步,慢指针每次移动1格,当他们相遇时候慢指针移动s步 那么快指针就移动了2s步。然后此时将快指针移动到头部head位置,改为每次移动一步,两个指针继续移动,当快指针移动a步时候到达环入口处,
2023-09-25 14:41:18 269
原创 Leetcode Top100(23)环形链表
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递。仅仅是为了标识链表的实际情况。2.快慢指针(一个指针每次移动2下 一个只移动一下 如果存在环一定会有相等的时候(在环中,一个指针相对另一个指针移动速度为1)如果链表中存在环 ,则返回 true。否则,返回 false。给你一个链表的头节点 head ,判断链表中是否有环。
2023-09-25 14:03:30 152
原创 leetcode Top100(23)回文链表
给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true;否则,返回 false。采用动态数组,判断数组对称就可以了(这解法空间复杂度o(n))输入:head = [1,2,2,1]ListNode 类。
2023-09-25 13:54:49 202
原创 leetcodetop100 (22) 反转链表
简单的用一个动态数组Arraylist记录,然后倒序遍历赋值给一个新的链表,这种空间复杂度是o(n),估计需要优化。每次迭代到 cur,都将 cur 的 next 指向 pre,然后 pre 和 cur 前进一位。我们可以申请两个指针,第一个指针叫 pre,最初是指向 null 的。都迭代完了(cur 变成 null 了),pre 就是最后一个节点了。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。第二个指针 cur 指向 head,然后不断遍历 cur。
2023-09-25 10:24:25 230
原创 leetcodetop100(15) 除自身以外数组的乘积已解答
题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请不要使用除法,且在 O(n) 时间复杂度内完成此题。给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。不用除法,对于数组中的位置num[i] 可以把它要求的数据看做左边的积L[i]乘以右边的积R[i]左边的规则就是 L[i] = L[i-1]*nums[i-1]右边的规则就是R[i-1] = R[i]*nums[i]
2023-09-25 09:48:40 164
原创 leetcodeTop100(21) 相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。我们需要做的事情是,让两个链表从同距离末尾同等距离的位置开始遍历。指针 pA 指向 A 链表,指针 pB 指向 B 链表,依次往后遍历。根据题目意思 如果两个链表相交,那么相交点之后的长度是相同的。比较长的链表指针指向较短链表head时,长度差就消除了。注意,函数返回结果后,链表必须 保持其原始结构。听着可能有点绕,看图最直观,链表的题目最适合看图了。这里使用图解的方式,解释比较巧妙的一种实现。
2023-09-25 00:16:30 205
原创 leetcode Top100(16)缺失的第一个正数
给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。* 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。* 输入:nums = [7,8,9,11,12]* 输入:nums = [3,4,-1,1]* 输入:nums = [1,2,0]
2023-09-24 14:22:04 73
原创 leetcode TOP100(13)合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。* 输入:intervals = [[1,3],[2,6],[8,10],[15,18]]* 解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].* 解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。* 输入:intervals = [[1,4],[4,5]]* 输出:[[1,6],[8,10],[15,18]]* 输出:[[1,5]]
2023-09-22 09:38:49 155
原创 leetcode Top100(12)最大子数组和
请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。连续子数组 [4,-1,2,1] 的和最大,为 6。是数组中的一个连续部分。
2023-09-21 20:28:35 127
原创 leetcode top100(11)滑动窗口最大值
给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。* 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3。* 滑动窗口的位置 最大值。* 输出:[3,3,5,5,6,7]* 返回 滑动窗口中的最大值。
2023-09-15 17:22:54 161
原创 leetcode top100 (9)找到字符串中所有字母异位词
起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。的子串,返回这些子串的起始索引。不考虑答案输出的顺序。指由相同字母重排列形成的字符串(包括相同的字符串)。
2023-09-14 17:12:16 289
原创 leetcode top 100 (8)无重复字符的最长子串(滑动窗口
请你找出其中不含有重复字符的。因为无重复字符的最长子串是。,所以其长度为 3。
2023-09-14 16:36:34 168
原创 leetcode top100 (7) 接雨水(hard)
解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。* 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。* 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
2023-09-14 15:26:36 159
原创 leetcode top100(6) 三数之和(双指针)
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!* 当 k > 0且nums[k] == nums[k - 1]时即跳过此元素nums[k]:因为已经将 nums[k - 1] 的所有组合加入到结果中,本次双指针搜索只会得到重复组合。* 当s == 0时,记录组合[k, i, j]至res,执行i += 1和j -= 1并跳过所有重复的nums[i]和nums[j],防止记录到重复组合。* 输入:nums = [0,0,0]
2023-09-14 15:09:27 145
原创 leetcode Top100 (5) 盛最多水的容器
给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。* 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。* 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。* 输入:[1,8,6,2,5,4,8,3,7]* 返回容器可以储存的最大水量。* 说明:你不能倾斜容器。
2023-09-14 14:51:14 225
原创 java leetcodetop100 (3,4 )最长连续数列,移动零
leetcode top100 (3,4) java代码实现 最长连续数列,移动零
2023-09-14 14:24:29 193
转载 Mac移动硬盘不正确断开连接导致无法读取加载的解决方法
转载自:https://blog.csdn.net/Deft_MKJing/article/details/92402534问题首先Mac上的移动硬盘,如果不正常推出,比如是没电了自动关机,或者没有正常推出,直接拔出来了,这个时候再次链接就会遇到无法装载的问题,但是可以通过命令行查看到。解决1.查看所有硬盘信息diskutil list>>> 输出如下/dev/disk0 (internal, physical): #:
2021-07-22 23:57:01 3013
原创 记一次sql union 使用场景记录
最近在一次开发中,一个问题弄了三天,最后通过sql 中union 使用解决问题。详细场景无法说明,这里简要说明下大概的使用场景。问题的场景是有三个数据库的数据同步问题。数据库A 中
2021-06-20 19:27:58 329
原创 sql 中对varchar类型进行求和(sum)方法
最近修改代码bug时候,发现sql报错,最后找到原因是直接对varchar型数据进行求和,最终修改方案确定需要进行数据类型转换。这里使用的CAST方法对数据类型进行转换的。最终的数据为下面这样:select SUM(cast(changeData as numeric(12,0))) from testTable where departmentID='REACH &DEV...
2019-07-11 23:01:49 28508
转载 linux 系统权限设置
转载自:https://blog.csdn.net/fuhanghang/article/details/82807772最近在开发的时候拥有root权限,但发现服务包都是其他用户权限,这个时候,直接替换上去的class文件是没法使用的,但是又不想重新推服务,发现可以使用chmod更改替换上去的文件权限,就可以使用了。因此找了下讲解linux 权限的文章,也记录下。其实开发中使用最多的...
2019-06-19 22:09:15 3689
转载 浅谈架构之路:前后端分离模式
转载自:https://www.cnblogs.com/shanrengo/p/6397734.html目录前言:分离模式为什么要分离?前后端分离的误区?如何前后端分离?编后语前言:分离模式 对前后端分离研究了一段时间,恰逢公司有一个大项目决定尝试使用前后端分离模式进行,便参与其中。该项目从2016年初立项至今,平平稳稳得度过,但也涌现出越来越多的问题,绝对不是说...
2019-03-17 20:57:25 410
Systems Analysis and Design in a Changing World 7th Edition by John W. Satzinger
2018-12-18
spring技术内幕,深入解析spring架构与设计原理.pdf
2018-04-20
MySQL数据库开发、优化与管理维护.pdf
2018-04-16
Spring+Cloud与Docker微服务架构实战.pdf 电子书压缩文档
2018-04-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人