uacs2024

导航

2026年5月8日 #

go slice

摘要: go slice扩容机制 1.17及以前 如果期望容量大于当前容量的两倍就会使用期望容量; 如果当前切片的长度小于 1024 就会将容量翻倍; 如果当前切片的长度大于 1024 就会每次增加 25% 的容量,直到新容量大于期望容量; Go1.18及以后,引入了新的扩容规则: 当原slice容量(ol 阅读全文

posted @ 2026-05-08 17:05 ᶜʸᵃⁿ 阅读(9) 评论(0) 推荐(0)

go 闭包

摘要: 闭包 = 函数 + 其引用的外部变量环境。当一个函数内部定义了一个匿名函数,并且这个匿名函数引用了外部函数的局部变量,那么这个匿名函数就叫闭包,它“闭合”了这些变量。 Go 的闭包在编译时被转换成一个匿名结构体实例,该结构体包含了需要捕获的外部变量指针。函数本体变成这个结构体的方法,调用时传递该结构 阅读全文

posted @ 2026-05-08 13:21 ᶜʸᵃⁿ 阅读(5) 评论(0) 推荐(0)

go panic与error

摘要: panic 是 Go 的一种运行时错误报告机制,类似于其他语言中的“异常”,但设计哲学完全不同。调用 panic 会让程序立即停止当前函数的正常执行,并开始沿调用栈向上冒泡,依次执行每一层的 defer,最终如果没有被 recover 捕获,则导致程序崩溃并打印栈跟踪信息。 由内置函数触发:pani 阅读全文

posted @ 2026-05-08 11:04 ᶜʸᵃⁿ 阅读(5) 评论(0) 推荐(0)

2026年5月7日 #

golang defer执行次序与匿名命名返回值

摘要: func test1() int { i := 0 // 局部变量 i = 0 defer func() { // defer1 注册(后执行) i += 1 fmt.Println("defer1, i = ", i) }() i++ // i = 1 defer func() { // defe 阅读全文

posted @ 2026-05-07 11:01 ᶜʸᵃⁿ 阅读(4) 评论(0) 推荐(0)

2026年3月2日 #

leetcode172.阶乘后的零

摘要: 172.阶乘后的零 自知不会高效解法,直接看答案🤡 这道题的核心是0是由2 * 5 得到的 我自己写的 class Solution { public int trailingZeroes(int n) { int res = 0; // 外层循环:遍历5的各个幂次(5, 25, 125, ... 阅读全文

posted @ 2026-03-02 21:31 ᶜʸᵃⁿ 阅读(6) 评论(0) 推荐(0)

2026年1月14日 #

Java基础补缺4:Java IO

摘要: Java 中是通过流处理IO 的,那么什么是流? 流(Stream),是一个抽象的概念,是指一连串的数据(字符或字节),是以先进先出的方式发送信息的通道。 当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通 阅读全文

posted @ 2026-01-14 19:29 ᶜʸᵃⁿ 阅读(14) 评论(0) 推荐(0)

2025年12月11日 #

Java基础补缺2

摘要: 1)多线程调度: 每个对象都可以调用 Object 的 wait/notify 方法来实现等待/通知机制。 public class WaitNotifyDemo { public static void main(String[] args) { Object lock = new Object( 阅读全文

posted @ 2025-12-11 21:48 ᶜʸᵃⁿ 阅读(15) 评论(0) 推荐(0)

2025年12月7日 #

leetcode57. 插入区间

摘要: 57. 插入区间 尝试写过,边界条件处理太笨比了,直接看答案 法一:三次遍历法 class Solution { public int[][] insert(int[][] intervals, int[] newInterval) { int i = 0, n = intervals.length 阅读全文

posted @ 2025-12-07 21:24 ᶜʸᵃⁿ 阅读(18) 评论(0) 推荐(0)

2025年12月2日 #

leetcode49. 字母异位词分组

摘要: 49. 字母异位词分组 法一:每个字符串先排序,再加入到HashMap。自己写的。 class Solution { public List<List<String>> groupAnagrams(String[] strs) { int n = strs.length; HashMap<Strin 阅读全文

posted @ 2025-12-02 19:29 ᶜʸᵃⁿ 阅读(17) 评论(0) 推荐(0)

leetcode134. 加油站

摘要: 134. 加油站 法一:先计算 rest[i] = gas[i] - cost[i] , 判断从某个位置开始的累和是否<0。时间打败了5.17%🤡 class Solution { public int canCompleteCircuit(int[] gas, int[] cost) { int 阅读全文

posted @ 2025-12-02 17:11 ᶜʸᵃⁿ 阅读(31) 评论(0) 推荐(0)