CT
豆包版:每天进步一点点
2LC,2025年的目标的LC300
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2025年- H100-Lc208--912.排序数组(快速选择排序)--Java版
快速选择排序的平均时间复杂度是O(nlogn),最坏时间复杂度是O(n^2),最好的时间复杂度是O(nlogn),空间复杂度是O(nlogn)。排序算法中不稳定的算法是:快希选堆(牺牲稳定性,快速的选择都是不稳定的)。原创 2025-08-27 23:44:59 · 189 阅读 · 0 评论 -
CT03-215.数组中第k大的元素
分区后,一个子数组有 n-1 个元素,另一个是空的。问题规模每次只减 1,时间复杂度就退化成了 n + (n-1) + (n-2) + …随机选择一个pivot哨兵,比pivot小的元素放在右边,比pivot大的元素放在左边。初始化一个最小堆(优先队列), PriorityQueue 默认就是最小堆,它会自动把最小的元素放在堆顶。寻找数组第k大的元素,因为是升序排序,索引第k大的元素对应的索引是n-k。因为是最小堆,所以移除的永远是当前堆中最小的那个元素。2)构造小根堆,堆顶元素就是最小的元素。原创 2025-08-27 22:30:45 · 776 阅读 · 0 评论 -
CT02-20.有效的括号(Java)
这一行代码本身既可能返回 true 也可能返回 false,具体取决于在程序执行到这一步时,栈里是否还有剩余的元素。(1)判断此时栈是否为空,如果为空,说明没有左括号与右括号匹配,返回false。1)如果此时字符是‘)’,并且栈顶元素不等于‘(’,返回false。1)如果此时字符是‘]’,并且栈顶元素不等于‘[’,返回false。1)如果此时字符是‘}’,并且栈顶元素不等于‘{’,返回false。如果栈为空,说明所有的左括号都找到了匹配的右括号。先把字符串转换成字符数组。如果遇到左括号,入栈。原创 2025-08-22 00:02:54 · 241 阅读 · 0 评论 -
CT01-反转链表(Java)
定义一个next指针,存储临时变量(用于cur的后移操作)先设置一个pre指针和cur指针。然后pre和cur指针后移。pre指针指向NULL。cur指针指向头结点。原创 2025-08-17 12:32:12 · 166 阅读 · 0 评论
分享