- 博客(12)
- 收藏
- 关注
原创 leetcode128. 最长子序列
1. 既然是数组,数据结构首先考虑数组,然后要求O(n)不能利用排序了,那该怎么办呢?一般来说,要么空间换时间,要么利用多个指针。2. 这里选用多个指针和set集合,Set集合用来判断某个数存存不存在,时间复杂度O(1),存储当前的数。,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。3. 按照我们的思路来进行举例演示。请你设计并实现时间复杂度为。给定一个未排序的整数数组。
2024-09-23 15:38:27
286
原创 MacBook Pro touch bar不能正常使用怎么解决
我的个人情况是能正常显示,但是点击没有反应,看了很多帖子都没有解决我的问题。然后我回想想我改的哪些设置,最好找到原因了。原因在于我开了辅助功能的键盘的慢速键,关掉就行了。
2024-08-09 15:18:40
936
原创 链表part02
迭代法设计到三个节点,最好用虚拟头结点来弄,利用temp指针指向原来的节点。迭代法可以利用快慢指针,快指针比慢指针多N,快指针遍历为null时停止。虚拟头结点增删改的时候很有用,可以不用考虑head为null等问题。链表相交:利用总长度不变的原理,记住同一节点不是值相同。环形链表:快慢指针关键在于找环和入口,也可直接哈希。链表两两互换:递归法比较复杂,推荐用迭代法。删除倒数第N个节点:递归法,迭代法。● 19.删除链表的倒数第N个节点。● 24. 两两交换链表中的节点。● 142.环形链表II。
2024-07-11 01:59:16
255
1
原创 代码训练营day07
1. 哈希用来找某一个数,数组可以用同一个索引进行加减,找到有没有相同的数,但是受限于长度不能太长;Set和Map都有对应的containsKey方法,Set可以去重,Map可以存储键值对.2. 很多时候,用于减少时间复杂度,数据需要重复利用,避免重复在遍历,于是先把数据存入哈希当中,再根据哈希能快速找到某个值的特性,能减少一定的时间复杂度。3.三数之和和四数之和,其实有点像二分查找,同样需要排序,定义左节点和右节点。不同的是,mid被替代了。很重要的一点就是去重,去重不能马虎。
2024-05-15 01:03:02
838
原创 代码训练营day06
2. 统计次数时,并没有传统的比较两个字母出现的次数一不一致,而是直接通过在同一个数组相加减的方式,进行标识,从而减少了新建数组的麻烦。1. 就是比较某个字母出现的次数一不一致,但是因为英文字母并不能直接当数组的索引,利用char和英文字母相邻的性质,转换成索引。这道题和上道题很像,也要找相同的数,但是这道题需要求相同的数,因此需要转换列表用来存储数据,再转换成数组。关键点:标准n为1,只要一出现以前的数,则排除掉。这里选择用Map,因为需要数据和返回索引。的时候,就要考虑哈希法。
2024-05-14 00:22:40
645
原创 代码训练营day01
2. while的判断条件在于是闭闭(<=),还是闭开区间(<)元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。1. 二分查找的前提是已经排序好的数组。不要使用额外的数组空间,你必须仅使用。,如果目标值存在返回下标,否则返回。的元素,并返回移除后数组的新长度。个元素有序的(升序)整型数组。
2024-05-09 00:29:01
756
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人