数据结构与算法
文章平均质量分 89
一只特立独行的猪611
这个作者很懒,什么都没留下…
展开
-
数据结构与算法
Comparable和Comparator都是用于比较对象大小的接口,但Comparable是在类内部实现的比较方式,而Comparator是在类外部实现的比较方式。Comparable适合于在类设计阶段就已经考虑到了比较的需求,而Comparator更适合于在运行时根据需要动态地指定比较方式。在实际编程中,我们需要根据具体的情况选择使用哪种方式,以达到最佳的效果。原创 2024-03-06 16:20:08 · 611 阅读 · 1 评论 -
算法题目记录
【代码】算法题目记录。原创 2024-03-09 18:51:27 · 947 阅读 · 1 评论 -
算法刷题记录2
每次都在已经解锁 (当前手上有的钱大于某个项目的花费,该项目就算是被解锁)了的项目中选一个利润最大的项目。要注意的是,每次做完一次项目,手头上的钱就变为:之前的钱+本次项目的利润。因此本题就是从边界上的O开始递归,找与边界O联通的O,并标记为#(代表已遍历),最后图中剩下的O就是:被X包围的O。如果我每次移动都遵守这个规律,每次要移动大盘的时候,就把上面的小盘全部移都,把大盘空出来,这次移动就保证了大盘一定不会叠着小盘,且大盘在小盘下。当前加入的元素,就是比栈顶弹出的元素大且离它最近的元素。原创 2024-04-16 10:50:12 · 1153 阅读 · 0 评论 -
leetcode面试算法题
【代码】leetcode面试算法题。原创 2024-08-06 14:16:43 · 949 阅读 · 0 评论 -
算法记录——树
完全二叉树:相同深度的满二叉树的所有结点(不包含叶子)在该树上都有相应的节点(包含叶子)与之对应且所有左子树先存在,才会存在右子树,然后才会存在下层子树的情况,这样的树为完全二叉树。每次遍历的节点按后序遍历顺序,先收集左右孩子的最大高度,再最后处理当前节点的最大高度!3.遍历节点2的所有祖先节点。首先我们知道二叉搜索树的性质:任何一个节点的左子树的所有节点的值都小于该节点的值,右子树的所有节点的值都大于该节点的值。思路:1.创建一个map集合,先遍历所有节点,把每个节点的父节点存放在当前集合中。原创 2024-09-24 15:18:17 · 1124 阅读 · 0 评论 -
算法记录——链表
要注意的就是每次反转完链表p指针指向的就是反转后链表的最后一个元素,同时它的next也是下一组待反转链表的第一个元素,所以每次每组反转完以后,都要把p赋值给g。每组链表反转之前,g的next指向的都是待反转链表的第一个节点,p指向的就是待反转链表的第一个节点。空间复杂度 O(1)O(1)O(1) : 变量 pre 和 cur 使用常数大小额外空间。开始时,快慢指针都在头节点的位置。时间复杂度 O(N)O(N)O(N) : 遍历链表使用线性大小时间。相遇以后,快指针/慢指针到头节点的位置。原创 2024-09-24 15:45:26 · 1048 阅读 · 0 评论