
算法打卡
文章平均质量分 66
我必进厂
这个作者很懒,什么都没留下…
展开
-
LC15.三数之和、LC22括号生成
代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且。且固定一个数后,后两个数采用双指针的方式时间复杂度更低。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。答案中不可以包含重复的三元组。,判断是否存在三元组。原创 2024-06-20 22:35:02 · 458 阅读 · 0 评论 -
NC32 求平方根 LC56. 合并区间
NC32 求平方根。原创 2024-06-17 23:58:32 · 293 阅读 · 0 评论 -
笔试算法复盘
无线通信移动性需要在基站上配置邻区(本端基站的小区LocalCell与周边邻基站的小区NeighborCell映射)关系,为了能够加速无线算法的计算效率,设计一个邻区关系缓存表,用于快速的通过本小区LocalCell查询到邻小区NeighborCel。但是缓存表有一定的规格限制,因此到达规格并且需要插入新的数据时,需要删除邻区数据,选择删除邻区数据对象的策略为:1)使用次数最少的,2)如果1)返回有多个对象,则选择最久未使用的。虚拟机约定:32位整形寄存器:a0,a1....a31,共32个寄存器;原创 2024-05-16 22:40:33 · 1440 阅读 · 1 评论 -
NC3 链表中环的入口结点、NC52 有效括号序列
给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。数据范围: n≤10000n≤10000,1原创 2024-05-15 22:18:25 · 323 阅读 · 0 评论 -
NC1 大数加法、NC127 最长公共子串、NC66 两个链表的第一个公共结点
以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回。数据范围:s.length,t.length≤100000s.length,t.length≤100000,字符串仅由'0'~‘9’构成要求:时间复杂度 O(n)O(n)原创 2024-05-16 16:41:12 · 620 阅读 · 0 评论 -
NC76 用两个栈实现队列、NC68 跳台阶、NC41 最长无重复子数组、NC4 判断链表中是否有环
用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。数据范围: n≤1000n≤1000要求:存储n个元素的空间复杂度为 O(n)O(n) ,插入与删除的时间复杂度都是 O(1)O(1)原创 2024-05-14 21:39:28 · 872 阅读 · 2 评论 -
NC88 寻找第K大、NC33 合并两个排序的链表
数据范围:0≤n≤10000≤n≤1000, 1≤K≤n1≤K≤n,数组中每个元素满足 0≤val≤100000000≤val≤10000000。给定一个整数数组 a ,同时给定它的大小n和要找的 k ,请返回第 k 大的数(包括重复的元素,不用去重),保证答案存在。数据范围: 0≤n≤10000≤n≤1000,−1000≤节点值≤1000−1000≤节点值≤1000。去重后的第3大是8,但本题要求包含重复的元素,不用去重,所以输出9。要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)原创 2024-05-13 21:42:16 · 418 阅读 · 1 评论 -
leetcode打卡4.12
在上述代码中,在将每次得到的list数组添加到输出最后结果的res数组时,由于变量存储的是对象的引用(地址),而不是对象本身。对回溯的题比较生疏。对象的一个副本,这个副本与原始对象内容相同,但在内存中却是独立的。因此,为保证结果列表中的元素不受到原始列表修改的影响,这样可以确保结果列表中的元素与原始列表的元素是相互独立的,互不影响。另外,这一题要注意Java中。引用的对象是同一个对象,所以当对。列表中的元素也会受到影响,因为它们。返回该数组所有可能的。对象的引用和内存管理机制。原创 2024-04-12 23:34:35 · 246 阅读 · 0 评论 -
leetcode打卡4.11
请你将所有链表合并到一个升序链表中,返回合并后的链表。给你一个链表数组,每个链表都已经按升序排列。原创 2024-04-11 23:24:06 · 299 阅读 · 0 评论 -
SQL打卡4.10
记得顺序:where>group by>having>order by。原创 2024-04-10 15:17:23 · 274 阅读 · 1 评论 -
leetcode打卡4.10
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。是一个正整数,它的值小于或等于链表的长度。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。删除原始链表中所有重复数字的节点,只留下不同的数字。的整数倍,那么请将最后剩余的节点保持原有顺序。个节点一组进行翻转,请你返回修改后的链表。给定一个已排序的链表的头。原创 2024-04-10 11:51:00 · 682 阅读 · 0 评论 -
leetcode打卡4.9
这一次独立完成,主要还是要画图分析出快慢指针间的关系,总结来说,定义慢指针一次走一步,快指针一次走两步,如果链表是环形的,则两者一定会相遇;若判断链表是环形的,通过公式可以推断出,若将慢指针放回原点出发,快指针放在相遇点出发,步长为一步,它们再次相遇的点即为环形链表入口。由于两个链表都是有序的,因此可以新建一个链表来存放合并后的结果,通过依次对比两个链表的值,将较小的值直接加入新建的链表。先遍历链表获取链表长度要删除的数的正索引,然后顺序遍历删除。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2024-04-09 21:32:08 · 421 阅读 · 0 评论 -
SQL打卡4.9
时,它会消除结果集中的重复行,只返回不同的值。涉及到的知识点:INNER JOIN。用于从查询结果中返回唯一的值。和 OUTER JOIN。[177. 第N高的薪水]是 NULL,则返回。176. 第二高的薪水。[178. 分数排名]175. 组合两个表。原创 2024-04-09 16:21:45 · 707 阅读 · 0 评论