力扣编程
文章平均质量分 65
发奋图强强强
这个作者很懒,什么都没留下…
展开
-
2024/10/10 力扣11 盛最多水的容器
在需要移动指针时对此时容器的两个长进行判定,短的那个则被放弃,因为容器是以短的长度为长,当指针移动宽在减小的时候,短的那个不会存在比当前更大的容器。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。两个指针初始一个指向第一个,一个指向最后一个,此时宽最大,指针一步步移动是缩小宽的过程。将竖直方向看做长,水平方向看作宽,面积等于长乘宽,相当于两个变量。还要明确容器的长由两个竖直方向上短的那个决定。轴共同构成的容器可以容纳最多的水。原创 2024-10-10 13:07:49 · 86 阅读 · 0 评论 -
10/9 力扣128 最长连续序列
思想:找到一个序列中最小的元素再开始从1往后计数,若列表中存在比当前数更小的数,则不从当前数开始序列长度计数。,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。最长数字连续序列是 [1, 2, 3, 4]。将列表转化为集合,消除重复元素,避免重复遍历。请你设计并实现时间复杂度为。给定一个未排序的整数数组。原创 2024-10-09 20:20:42 · 146 阅读 · 0 评论 -
10/1 力扣 49.字母异位词分组
在创建d = defaultdict(list)之后,可以像使用普通字典一样使用d,但是当尝试访问一个不存在的键时,例如d['new_key'],defaultdict会自动创建一个新条目'new_key': [],并且不会抛出异常。与普通字典不同,defaultdict在初始化时可以指定一个默认工厂函数,这个函数会在访问不存在的键时被调用,返回一个默认值。若字符串字母组成相似,则排序后一定相等,将排序后的字符串作为键,使用这些字符的串都作为该键的值,最后将字典的值变为列表返回。原创 2024-10-01 16:15:53 · 479 阅读 · 0 评论 -
9/7 力扣69,88
0则将nums2内的剩余的最小数据复制到nums1中 nums1[:n]=nums2[:n]当nums1[m-1]>nums2[n-1],nums1[k]=nums1[m-1],此时,nums1内有一个数据被安置,则m-1。将可找的值范围定在[0,x],每次与mid做比较,最后left所处位置的值一定是平方大于x的第一个值。否则,nums1[k]=nums2[n-1],此时,nums2内有一个数据被安置,则n-1。2.当m>0且n>0时,比较两数组末尾的数的大小,定义一个k值代表当前能放的最后的位置。原创 2024-09-07 19:48:17 · 747 阅读 · 0 评论 -
2024/9/6 283
移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。,编写一个函数将所有。原创 2024-09-06 17:07:09 · 162 阅读 · 0 评论 -
9/5 链表 力扣24,141,142
若有环则两指针一定会相遇,因为可以把fast指针走两步,slow指针走一步,看作是fast指针在一步一步向slow指针靠近(有点暧昧了哈哈哈)给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。错误点:开始只考虑改变两节点索引,这在前两个之间是适用的,若还要将链表联系起来,还需使用一个节点代表前方节点指向后方节点组。使用快慢指针得到两指针相遇点,指定一指针从头开始,一指针从相遇点开始,两指针相遇点即为环入口。指针再次到达,则链表中存在环。交换节点顺序涉及到节点指针的改变,要注意节点之间的连接。原创 2024-09-06 16:38:08 · 480 阅读 · 0 评论 -
9/4 链表-力扣 234、19
3.last和pre同时指向头节点,用last节点先走n步,当该节点走到链尾时,pre节点即指向要删除节点的前驱节点。将前部分值放入列表后,若有奇数个节点,则链表上的指针需再向后移一位;思考:链表遍历只能从前往后,为使能同时访问两端数据,创建一个列表去记录前部分数据。2.当链表有n个节点要删除倒数第n个时,直接返回头节点的后续节点。1.当链表只有一个节点并且要删除倒数第一个节点时,直接返回空。思考:在链表中要删除哪个节点,就要去找它的前驱节点。给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。原创 2024-09-04 16:54:27 · 294 阅读 · 0 评论 -
9/3 链表-力扣160 、203、206
思考:首先判断头节点与val值之间的关系,若头节点值等于val值则将头一直往后移,循环停止后判断头节点是否为空;思考:若有公共节点则两链表一定会在某一个节点相遇,获取两个链表长度,得到长度差值,长链表先走差值,此时两个链表剩余长度相同,则在相遇时获取到公共节点。思考:生成一个固定的头节点,将链表的每个元素使用头插法插入到新链表中即可完成反转。,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回。,请你反转链表,并返回反转后的链表。,函数返回结果后,链表必须。给你一个链表的头节点。原创 2024-09-03 17:27:26 · 525 阅读 · 0 评论 -
9/1 力扣67题,2题
思路:将接收到的字符串变换为int形式,将两数相加,又将其变换为字符型二进制形式放入列表中,若两数相加和为0则直接返回0.2.十进制转化为二进制,取每次余数,将其变成字符形式储存在列表中,直至商为0。= None else l1 遍历处。=None else 0 取值处。每次的sum就是新生成的元素。原创 2024-09-01 18:44:37 · 1039 阅读 · 0 评论 -
2024/8/31
s。原创 2024-08-31 12:14:29 · 273 阅读 · 0 评论 -
day1-三题
思路:负数不为回文数,单个数是回文数,不是单个数则依次取出每个数重新构造一个数,若新构造的数与原数相等,则该数为回文数。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。通常情况下,罗马数字中小的数字在大的数字的右边。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。思路:若用一值,去找剩余那个值的时候,从该选定值的后面进行寻找。整数,并返回它们的数组下标。,即为两个并列的 1。原创 2024-08-31 11:09:57 · 577 阅读 · 0 评论