算法
文章平均质量分 58
南£念
这个作者很懒,什么都没留下…
展开
-
链表中倒数第k个结点
题目:输入一个链表,输出该链表的倒数第K个结点。例如,一个链表有6个结点,从头结点开始依次为1,2,3,4,5,6。那么这个链表的倒数第3个结点是值为4的结点,链表结点定义如下: struct ListNode { int m_nValue; ListNode* m_pNext; }; 1、遍历两次链表实现 首先遍历链表统计链表中结点个数,然后从头开始遍历到n-k+1个结点就找到了倒数第k个结点 代码实现 ListNode* FindNode(ListNode* head,int k) { if(h原创 2021-04-13 17:19:20 · 63 阅读 · 0 评论 -
打印从1到最大的n位数
题目:输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3;则打印出1,2,3一直到最大的3位数999 解法整型int解决字符串模拟数字加法 整型int解决 看到题目基本都能想到的一个方法,先求出最大数n,然后逐个打印 代码: void PrintToMax(int n) { int num=1; int i=0; while(i++<n) { num*=10; } for(i=1;i<num;i++) { printf("%d\t",i); } } 乍一看好像原创 2021-04-13 16:44:32 · 68 阅读 · 0 评论 -
KMP算法子串查找
字符串查找的最简单的就是暴力查找,时间复杂度为O(MN),KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n) KMP算法子串查找一、模式匹配二、KMP三、next数组 一、模式匹配 1.1、原创 2021-04-10 20:13:07 · 452 阅读 · 0 评论 -
Morris算法实现二叉树的遍历
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码原创 2021-04-09 21:20:27 · 119 阅读 · 1 评论