算法
文章平均质量分 61
ailigei
茶,不仅仅是茶,它更是一种美好的生活方式。
展开
-
力扣704-二分查找
这道题目的前提是数组为有序数组,同时还强调数组中无重复元素,因为一旦存在重复元素,使用二分查找返回的元素下标可能不是唯一的,这些都是二分的前提条件,如果一个题目提到了上述的条件,其实我们就应该想到可以试试二分的思路。找到元素4的下标3,发现我们的目标元素2比4要小,所以4后面的元素我们可以直接排除(从小到大排序),我们从4之前的元素开始找(1,2,3),这一次二分我们同样通过。第一次二分,我们通过。原创 2023-04-29 22:14:49 · 95 阅读 · 0 评论 -
链表中的数字相加----链表专题
牛客必刷题-链表原创 2022-08-04 15:44:44 · 284 阅读 · 0 评论 -
两个链表的第一个公共结点-链表专题
两个链表的第一个公共结点的四种思路!!原创 2022-07-06 18:10:39 · 1186 阅读 · 2 评论 -
链表中环的入口结点-链表专题
简述:题目的要求主要就是一个带环的链表(无需证明是否带环),我们要找到具体是链表那个结点作为入环结点,例如上方345为环结点,3为环入口,故我们只需想办法弄出3这个结点。首先这个题目我主要用的解法是(不需要知道环中结点数目的解法),算法题目一定要先在脑海里构思,具体的步骤是如何的。先来简单讲一下需要知道环中节点数目的解法是如何解决这个题目的,这个比较简单,很多人应该最开始想到的解法就是这个。接下来主要介绍的是不需要知道环中结点数目的解法。上面讲的解法虽然很容易想到,但是代码量其实也是不少的,需要先要求原创 2022-06-23 09:23:37 · 328 阅读 · 2 评论 -
删除倒数第k个节点-链表专题
首先,解决这个题,删除倒数第k个节点,我首先想到的是双指针解法,例如,删除倒数二个节点,我们可以来走一下大概思路,首先可以定义两个指针,p1和p2,用第一个指针p1走2步,然后初始化第二个指针p2指向head节点,然后让两个指针同时向前以相同速度遍历。由于两个指针的距离始终保持为2,当指针p1指向链表的尾节点时p2正好指向倒数第3个节点,然后直接删除倒数第二个节点即可。我最开始用的是常规的操作,导致了数组越界,可能很多人刚入门算法便会掉进这种坑。后来发现使用哨兵节点即可完美解决数组越界的问题。大家可以原创 2022-06-21 00:53:52 · 468 阅读 · 0 评论