- 博客(3)
- 收藏
- 关注
原创 leetcode刷题-哈希表总结(python)
首先对nums进行升序排序,一个for循环下标i遍历所有元素,left=i+1,right=len(nums)-1,如果三数之和小于0,left+,如果三数之和大于0,right+,直到left和right相遇。这个题很关键的一点就是题目中提示了如果不是快乐数按照这样的计算方式会无限循环,也就是出现过的值会再出现,从这点入手,把每次算过的和都放入集合中,每次都检查一次这个值是不是在集合中出现过。集合存储唯一且不可变的元素,也就是集合的元素必须是可哈希的,检查元素是否存在的时间复杂度为o(1)。
2025-03-02 22:32:38
1145
1
原创 leetcode刷题-链表总结(python)
链表是一系列节点组成的元素集合。每个节点包含两个部分,数据域item和指向下一个节点的指针next。通过节点之间的互相连接最终串成一个链表。单链表,链表的入口节点称为头结点head,最后一个节点指向None。双链表,双链表的每个节点有两个指针,一个指向前一个一个指向后一个节点。循环链表,链表首尾相连。
2025-02-19 20:21:09
995
原创 leetcode刷题-数组总结(python)
这个题的思路是一圈一圈的填充:从左到右,从上到下,从右到左,从下到上,如果n是奇数要单独填充一下最后一个元素。填充的过程中要保证循环不变量,也就是每次循环过程中的判断条件保持一致,左闭右开区间,不然会导致每次逻辑混乱。你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。双指针法,左右各一个指针,比较大小,大的填入新的列表, 两个指针都往中间移动。数组的元素在内存地址中是连续的,不能单独删除数组中的某个元素,只能覆盖。平方后,数组变为 [16,1,0,9,100]
2025-02-14 14:54:14
669
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人