![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
可乐小浣熊
菜鸟小白
展开
-
求链表中倒数第k个结点
struct ListNode //定义结点{ int m_Value; ListNode* m_pNext;};思路:一个很自然的想法是从链表的尾端开始回溯k步,即可得到结果,但一般这种题目会限制链表为单向链表,所以这种思路行不通。 一个可行的思路是:用两个指针都指向头结点,第一个指针先往前走k-1步,然后两指针同步向前走,直到第一个到达尾结点。 考虑代码的鲁棒性...原创 2018-03-05 16:44:35 · 164 阅读 · 0 评论 -
算法题:计算一年中的第几天
题目:给出年月日的日期,算出该天是这年的第几天需要考虑闰年的情况,也需要考虑大月、小月、以及二月;题目不难,只需考虑周全即可代码如下:@author xionglei @date 2018/03/04 #include<iostream>using namespace std;int solution(int year,int month,int day) { ...原创 2018-03-05 20:50:30 · 2655 阅读 · 0 评论 -
LRU缓存算法c++实现
在如今的项目开发中,缓存是一种必不可少的存储方式,目前在各种后台开发中,比较常见的一种缓存算法就是LRU了,LRU名为最近最少使用算法。它会将最近不常用的缓存数据淘汰掉,是一种Cache替换算法。 本文通过c++简单的实现这种算法,代码不长,但能很好的体现这种思想 思路: map 存储数据 ,实现查找效率O(1),双向链表实现算法逻辑 算法逻辑: 1....原创 2018-07-26 14:09:58 · 9985 阅读 · 6 评论 -
经典算法之浅析kmp算法
KMP算法,也就是字符串匹配算法,是很多场合都会用到的算法,这个算法想要解决什么样的问题呢?举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 传统的求解,我想很多人都已经想到了,遍历源字符串的每一位嘛,依次和要匹配的字符串比较,code很easy,但效率较为低下,可以想到,时间复杂度...原创 2018-08-05 19:12:27 · 407 阅读 · 0 评论 -
Leetcode: SingleNumber I & II 数组中只出现一次的数
题目:I:Given a non-empty array of integers, every element appears two times except for one, which appears exactly once. Find that single one. Note: Your algorithm should have a linear runti...原创 2018-08-02 20:25:51 · 402 阅读 · 0 评论 -
并查集实现(c++)
1.何为并查集? 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题,简单的说就是对集合操作的一种数据结构。2.做什么用: 考虑这样一个问题—— 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x...原创 2018-09-27 15:41:12 · 3739 阅读 · 0 评论