LeetCode算法训练打卡
文章平均质量分 77
代码随想录60天算法打卡
豌豆小虎
每天进步一点点
展开
-
代码随想录算法训练营第6天|Leetcode 1、两数之和、Leetcode 202 快乐数、 Leetcode 242 有效的字母异位词、 Leetcode 349 两个数组的交集
建立一个map集合(key:数的值,value:数的索引),遍历一遍数组,查看map集合中是否有满足条件的另一个数,如果有,直接返回;首先计算 n 的每位数的平方和,和1进行比较,然后将得到的结果添加进集合set中,然后再计算刚刚得到的结果的每位数的平方和,一直循环,直到有重复的数或者结果为1。分别遍历两个数组,将其中的元素分别放到两个集合中,然后遍历第一个集合,如果第一个集合中的元素在第二个集合中仍存在,那么将这个数添加到我们要返回的集合中。如果有重复的数,就直接返回false,如果有 1返回true。原创 2023-03-20 22:40:14 · 163 阅读 · 0 评论 -
代码随想录算法训练营第4天|Leetcode19删除链表倒数第N个节点、 Leetcode24 两两交换链表中节点、Leetcode142 环形链表Ⅱ、Leetcode160 链表相交
这题我有点投机取巧, 因为题目中后面设置了一个条件就是每个节点的val值不会大于10000,所以我们再遍历每个节点的时候都将它的值修改外10001,这样如果有环形链表,下次再次遍历到有节点的值为10001的时候就可以直接返回该节点。右左右两个指针,右指针比左指针先遍历n个节点,当右指针所指为null的时候,左指针所指的下一个节点就是要删除的节点。这题的思想比较巧妙,想要找到交点就必然要遍历两个链表,所以我们先设置两个指针,但是两个链表的长度不一样怎么办呢?pB遍历B,遍历完后开始遍历A。原创 2023-03-20 17:43:05 · 244 阅读 · 0 评论 -
代码随想录算法训练营第一天|Leetcode704 二分查找、Leetcode 27移除元素
题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。若 nums [mid] < target 则left变大,即 left = mid + 1;若快指针指向的值不等于val ,就用快指针指向的值覆盖慢指针指向的值,然后,慢指针右移一位。,不是则不加等号);原创 2023-03-15 00:29:33 · 121 阅读 · 1 评论 -
代码随想录算法训练营第2天|Leetcode59 螺旋矩阵II 、Leetcode 209 长度最小的子数组 、Leetcode 977有序数组的平方
使用while循环,只要sum >= target,先记录此时子数组的长度,然后sum减去左指针对应的值,左指针右移一位,继续判断sum是否大于等于target。左指针对应的值 > 右指针对应的值,左指针对应的值放入要返回的数组中,位置为 right - left, 同时左指针右移一位。左指针对应的值 <= 右指针对应的值,右指针对应的值放入要返回的数组中,位置为 right - left,同时右指针左移一位。因为给我们的整形数组是非递减的,所以每个数字平方后,得到的新数组中较大的数在数组的两边。原创 2023-03-17 15:48:55 · 115 阅读 · 0 评论