
算法
爱写流水账的NiGo
塞翁失马,焉知非福。
展开
-
C语言习题:Digital Roots
题目Digital RootsJK学长想对整数的数字求和来找到正整数的数字根。整数根的定义如下:如果结果值是单个数字,则该数字是数字根。如果结果值包含两个或更多个数字,则对这些数字求和并重复该过程。只要需要获得一位数,这就会继续。例如,考虑正整数24.加上2和4得到值6.由于6是单个数字,6是24的数字根。现在考虑正整数39.加上3和9的收益率12.由于12不是一个数字,因此必须重复该过程。...原创 2019-12-15 21:39:18 · 1093 阅读 · 1 评论 -
C语言习题:考虑要全面(瑕疵)
引言这周完成OJ题时碰到一个比较有意思的题目,而网上又没有跟该题的题解,所以想跟大家分享一下我的代码和做法。题目:考虑要全面Description给定两个不超过100000位的实数A和B,请你编写程序来判断A与B是否相等。Input输入有多组数据。每组在一行内包含两个实数A和B,A和B可能包含前导0,可能是整数,也可能不是整数。但数据保证A和B均在100000位以内。Output...原创 2019-12-08 23:08:31 · 301 阅读 · 0 评论 -
新人向:LZW压缩算法(C语言)
目录引言压缩解压缩代码参考引言今天给大家介绍一种常见的压缩算法——LZW压缩算法。LZW算法的基本原理为:通过构建一个字典,在该字典中用不同的编码去表示不同字符串,从而达到节省空间的目的。例如:我有一个字符串"abcdabcdabcd",共占12字节,如果我有一个字典,里面用1来代表"abc",那么只需令编码表(我们称之为key[])中存放三个1即可,倘若我们同样使用char类型,原来的字符串就由12字节压缩至3字节。下面我将为大家介绍压缩和解压缩的具体过程。压缩压缩是一个一边推导字典,一边记原创 2020-06-19 17:53:25 · 3441 阅读 · 0 评论 -
C语言:迪杰斯特拉(Dijkstra)算法
目录引言算法思想实现代码引言日常生活中,当我们出去旅游、办事等等,面对陌生的环境,我们常常需要规划自己的路线,来使移动的距离最短或是开销最低。那么,今天给大家简单介绍一种针对有向网图的最短路径算法——迪杰斯特拉算法。最短路径:即起点和终点之间经过的边上权值(Weight)之和最小的路径算法思想迪杰斯拉算法类似贪心算法实现本篇图的存储采用邻接矩阵(Adjacency matrix)代码...原创 2020-07-17 20:48:18 · 6904 阅读 · 2 评论 -
新人向:KMP字符串匹配算法
Directory新人向系列引言KMP算法思想最长公共前后缀算法步骤代码Reference新人向系列本人之前几乎未接触过算法,这个系列送给跟我一样的小白。如果有想学的算法可以留下评论,我会试着去学然后总结出博客,这个系列尽量周更,共勉引言很久没有更新了(因为这段时间确实很混)这次算法小白给大家介绍一个KMP字符串匹配算法。一看到字符串匹配,我就想起了以前做过的一种暴力破解的方法(也是唯一我能自己想到的做法)。对了,为了方便起见,这篇博客中,我们把需要找的字符串我们称之为pattern,从什么地原创 2020-06-02 01:20:35 · 426 阅读 · 0 评论