- 博客(16)
- 收藏
- 关注
原创 leetcode练习——哈希表
因此,问题可以转化为:对于每一对来自nums1和nums2的数,找到多少对来自nums3和nums4的数,它们的和与这对数的和互为相反数。如果hash[s[right]]为1,表示该字符在当前考虑的子串中已经出现过:为了找到最长无重复字符子串,需要移动左指针left,并重置左指针及其左侧所有字符的访问状态(在hash中对应位置设置为0)。如果找到了,则将哈希表中该键对应的值累加到结果变量中,因为这个值表示在nums1和nums2中有多少对数的和与当前nums3和nums4中的数对的和互为相反数。
2024-04-14 20:11:42 752
原创 移动应用开发实验室三面题分析
例如,字符串 "()" 、"()[]{}"和"([{}])"是有效的,但 "(]" 、"([)]"和"[]{}))" 是无效的。在排序后的数组中,固定一个元素,然后使用双指针法在剩余的元素中寻找两个数,使得它们的和与固定元素的和为0。如果list1的当前节点值小于list2的当前节点值,则将list1的当前节点连接到current之后,并将list1的指针向前移动一位。如果三个数的和恰好等于0,那么我们找到了一个符合要求的三元组,将其添加到结果中,并移动 left 和 right 指针以跳过重复的元素。
2024-04-07 17:29:12 1074
原创 每日练习——leetcode209和LCR 024
leetcode209.长度最小的子数组(双指针、滑动窗口)leetcodelcr024.反转链表(双指针、迭代、递归)
2024-04-05 21:58:40 1114
原创 Leetcode204.计数质数
思路:创建一个bool类型的数组isPrime,大小为n,用来标记从0到n-1的每个数是否为质数。如果p是一个质数,那么将p的所有倍数(从p * p开始,每次+p)在isPrime数组中标记为false。定义一个标志数flag,初始值为1,再定义一个计数器k,初始值为0。用双层for循环对所有小于n的数进行质数判断,如果该数对大于二的值取模为0,即该数字不是质数,则将flag赋值为0。循环结束后,返回k的值。即要得到自然数n以内的全部质数,必须把不大于根号n的所有质数的倍数剔除,剩下的就是质数。
2024-04-02 22:44:45 324
原创 leetcode27.移除元素
解题思路:创建一个索引Index,表示不包含值为val的数组的当前索引位置。再循环遍历数组nums,如果当前元素的值不等于val,则保留当前元素,将其赋值给新数组的当前位置,然后将索引数加一,以便下一个需要保留的元素可以放到正确的位置。并且,最终Index的值就是数组的新长度。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。
2024-04-02 22:17:53 128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人