-
一天一道算法题系列(3) 翻转链表、按区间翻转链表、k个一组翻转链表
发布时间:2022-02-24 23:47力扣T206:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 分析:这是一道比较简单的题目,但是了解它的思想比做这道题本身更重要。 可以分为递归和迭
-
一天一道算法题系列(2) 删除链表倒数第n个节点 、 寻找链表的中间结点 和 两个链表是否相交
发布时间:2022-02-23 12:01 力扣T19 给你一个链表,删除链表的倒数第 k 个结点,并且返回链表的头结点。 分析: 本题其实是要找到倒数第k+1个节点node,并将该节点的next指向
-
一天一道算法题系列(1) 合并两个有序链表、合并k个有序链表
发布时间:2022-02-21 12:05力扣T21: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 这个算法的逻辑类似于「拉拉链」,l1, l2类似于拉链两侧的锯齿,
-
算法小白的入门日记(三十五)动态规划
发布时间:2022-01-29 23:05· 动态规划概述 动态规划(Dynamic programming,简称 DP)不是某一种具体的算法,而是一种算法思想:若要求解一个给定问题,我们需要先解其子问题,再根据子问题的解
-
算法小白的入门日记(三十四)你以为暴力解法很简单?——决策树和回溯算法
发布时间:2022-01-29 20:18回溯算法本质是一种对决策树(是一个多叉树)通过深度优先遍历列出问题所有情况的算法,也就是所谓的暴力解。回溯算法适用于全排列问题和暴力解问题(如果想要得到一个问题的最优解,但想不到复杂度更优的思路,可以
-
算法小白的入门日记(三十三)在有序数组中快速查找——二分查找
发布时间:2022-01-28 21:21二分查找是一种针对有序数组基于分治算法的的快速查找算法。 · 二分查找的基本思路 在一个有序数组中找到中间值mid,将该中间值mid和目标值target比
-
算法小白的入门日记(三十二)用什么数据结构实现随机抽奖——集合
发布时间:2022-01-28 21:04· 集合 set集合是一个其内所存储的所有元素具有唯一性、随机性和无序性的复合型数据结构。唯一性指所有元素不重复;随机性指从集合中pop出一个元素时,集合内所有元素被pop出来的概率一样;无序性指集合
-
算法小白的入门日记(三十一)单调栈和单调队列
发布时间:2022-01-27 19:47· 单调栈 单调(递增)栈是一个从栈顶到栈底按元素从小到大排序的栈(单调递增栈的元素从栈顶到栈底是从小到大,单调递减栈的元素从栈顶到栈底是从大到小)。 单
-
算法小白的入门日记(三十)最大频率栈
发布时间:2022-01-27 14:21最大频率栈是一种按序入栈元素,但出栈时要优先弹出离栈顶最近的在栈内出现次数最多的节点的数据结构。还是以力扣的一道题为例:力扣895. 最大频率栈实现 FreqStack,模拟类似栈的数据结构的操作的一
-
算法小白的入门日记(二九)操作系统如何管理内存——LFU算法
发布时间:2022-01-26 22:40上文 哈希链表和LRU算法 介绍了内存管理算法中的LRU算法,本文介绍另一种管理内存的算法——LFU算法(最不经常使用算法)。 L