- 博客(64)
- 收藏
- 关注
原创 解决GOSUMDB sum.golang.org 连接超时
首先需要弄懂,执行以上提到的两个命令时,除了会从 GOPROXY 下载压缩包,还会调用 GOSUMDB 来检测文件哈希是否正确。此乃 Go Module 提供的安全机制,能有效防止代码被篡改。因国内访问外网不稳定 sum.golang.org 连接超时了,导致无法完成整个下载流程。解决方法同修改 GOPROXY 一样,我们设置一个国内能访问到的 GOSUMDB 即可。
2023-09-23 19:21:44 1662
原创 用3个go协程交替打印n到m
通过使用三个通道和协程之间的同步,每个协程在等待上一个协程的通道信号时,其他协程会被阻塞,从而实现了交替打印数字的效果。方法释放锁,确保同一时间只有一个 goroutine 可以访问被保护的代码块。的方法,用于减少计数器的值。方法锁定互斥锁,确保只有一个 goroutine 可以访问被保护的代码块。是一个互斥锁的方法,用于获取锁。是一个互斥锁,用于保护共享资源的并发访问。分别是对应方法的调用,用于减少计数器和获取互斥锁。的方法,用于阻塞直到计数器的值归零。方法减少计数器的值,调用。
2023-07-07 12:01:51 673
原创 33. 搜索旋转排序数组
在每一步中根据数组的特点来确定目标元素可能存在的区间,并不断更新左右指针,缩小查找范围,直到找到目标元素或确定目标元素不存在。时间复杂度:该算法的时间复杂度为O(log n),其中n是数组的长度。每次循环将查找范围缩小一半,因此时间复杂度为对数级别。空间复杂度:该算法的空间复杂度为O(1),只需要常数级别的额外空间。3.找到旋转后数组的target元素的下标。2.旋转后变成两个升序的数组。1.数组原本是升序的。
2023-06-15 21:45:39 502
原创 【无标题】
算法的思想是通过在字符串的每个字符之间插入特殊字符(例如"#"),将问题转化为奇数长度的回文串的问题。这样可以统一处理奇数长度和偶数长度的回文串。时间复杂度:该算法的时间复杂度为O(n),其中n是字符串的长度。马拉车算法只需遍历一次字符串,并且每次遍历都是常数时间操作。空间复杂度:该算法的空间复杂度为O(n),其中n是字符串的长度。需要额外的空间存储新字符串和p数组。
2023-06-15 21:30:45 369
原创 二叉树的层序遍历
在每一层遍历时,记录该层的节点个数,并将节点值存入一维数组中。然后将该层的子节点按顺序放入队列,继续下一层的遍历,直到遍历完整个二叉树。保证了在访问任意节点之前,会先访问到它的所有相邻节点,即先访问距离起始节点更近的节点,然后再访问距离起始节点更远的节点。时间复杂度是 O(n),其中 n 是二叉树中的节点数。这是因为每个节点最多进入队列一次,出队列一次,所以时间复杂度是线性的。空间复杂度为 O(n),其中 n 是二叉树中的节点个数,即队列中最多会存储 n 个节点的指针。
2023-06-15 21:11:32 351
原创 912. 升序排序数组
快速排序是一种常用的排序算法,通过选择一个基准值,将数组分为左右两部分,然后对左右两部分分别进行递归排序,最终得到一个有序数组。空间复杂度: 快速排序的空间复杂度主要取决于递归调用的栈空间,因此空间复杂度为O(logn)。
2023-06-14 17:14:30 614
原创 15.三数之和
代码中使用双指针法来遍历数组,通过设定首尾两个指针,逐渐逼近目标值。这段代码的目标是找到数组中所有满足三数之和为 0 的不重复元素组合,并将其存储在。
2023-06-14 15:24:55 52
原创 25. K 个一组翻转链表
时间复杂度:O(n),其中 n 为链表的长度。空间复杂度:O(1),我们只需要建立常数个变量。使用翻转单链表的方法,加上递归处理。
2023-06-14 15:12:17 57
原创 94. 二叉树的中序遍历
Morris 中序遍历算法的基本思路是利用节点的空闲指针,将当前节点的左子树的最右节点的右指针指向当前节点,从而在遍历完当前节点的左子树后,能够通过该指针回到当前节点,进而遍历当前节点和右子树。这样就可以在不使用栈或递归的情况下实现中序遍历。时间复杂度O(2n)
2023-04-28 11:42:09 95
原创 32.最长有效括号
字符串,依次统计左右括号数,并判断当前子串是否为有效括号子串。否则,左右括号数清零,继续寻找下一个子串。从左向右遍历是针对()()()、()(())以及(()())这种左右括号数相等的情况;首先定义了三个变量 left、right 和 maxLength,分别表示当前子串中左括号数、右括号数和最大有效括号子串长度。的情况,只从左向右遍历的话,因为left>right,所以会导致始终匹配不到有效括号,所以要接着从。字符串,来找到所有未匹配的右括号并计算最长有效括号子串的长度,遍历过程与从左向右遍历类似。
2023-04-28 10:01:13 70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人