随笔分类 -  算法

摘要:保证每次入栈元素都位于队列开始处,出栈时直接去取队列开始处的元素即可 阅读全文
posted @ 2020-10-18 19:11 二次元攻城狮 阅读(321) 评论(0) 推荐(0) 编辑
摘要:数学表达式的数值支持小数,符号只支持+ - * / ( )这几种。先将数学表达式的字符串(中缀表达式)转化为**后缀表达式**,然后计算后缀表达式的值。例:中缀表达式“9+(3-1)*3+10/2”转化为后缀表达式“9 3 1-3*+ 10 2/+”。 阅读全文
posted @ 2020-09-18 10:54 二次元攻城狮 阅读(1559) 评论(2) 推荐(1) 编辑
摘要:算法代码:index = (index + 1) % arr.Length; 算法实现:记录目标数组及当前索引,当前索引初始值为-1;当前索引=(当前索引 + 1) 取模;访问目标数组内当前索引位置的值。 阅读全文
posted @ 2020-09-17 11:18 二次元攻城狮 阅读(447) 评论(0) 推荐(0) 编辑
摘要:算法实现:利用格式化输出把数字中间按顺序插入大写字母,把相邻的大写字母替换为空字符,最后把数字和字母替换成中文(字母替换为数字的十进制数位的中文名称)。 阅读全文
posted @ 2020-09-15 11:55 二次元攻城狮 阅读(1806) 评论(4) 推荐(0) 编辑
摘要:CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。 阅读全文
posted @ 2020-08-10 14:55 二次元攻城狮 阅读(2847) 评论(0) 推荐(0) 编辑
摘要:反转一个字节说的是位序反转,别将它和大端转小端混淆了,所谓大端和小端指的是字节序。 字节位序反转的实现算法很多,就是看看谁的算法效率更高了。 阅读全文
posted @ 2020-07-31 15:03 二次元攻城狮 阅读(3852) 评论(0) 推荐(1) 编辑
摘要:二分查找(英语:binary search),也叫折半查找(英语:half-interval search),是一种在有序数组中查找特定元素的搜索算法。所以,二分查找的前提是数组必须是有序的。 二分查找只适用顺序存储结构。为保持表的有序性,在顺序结构里插入和删除都必须移动大量的结点。因此,二分查找特别适用于那种一经建立就很少改动、而又经常需要查找的线性表。 对那些查找少而又经常需要改动的线性表,可采用链表作存储结构,进行顺序查找。链表上无法实现二分查找(更准确的说链表上使用二分查找得不偿失)。 阅读全文
posted @ 2020-07-25 11:33 二次元攻城狮 阅读(2375) 评论(0) 推荐(0) 编辑
摘要:BitMap的基本思想就是用一个bit位来标记某个元素对应的Value,而Key即是该元素。由于采用了Bit为单位来存储数据,因此可以大大节省存储空间。 BitMap可以看成一种数据结构。 阅读全文
posted @ 2020-07-23 17:28 二次元攻城狮 阅读(3642) 评论(0) 推荐(2) 编辑
摘要:分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cassandra没有顺序ID生成机制,所以开发了这样一套全局唯一ID生成服务。 Snowflake ID组成结构:正数位(占1比特)+ 时间戳(占41比特)+ 数据中心(占5比特)+ 机器ID(占5比特)+ 自增值(占12比特)。 第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年),然后是5位datacenterId和5位workerId(10位的长度最多支持部署1024个节点) ,最后12位是毫秒内的计数(12位的计数顺序号支持每个节点每毫秒产生4096个ID序号)一共加起来刚好64位,为一个Long型(转换成字符串长度为18)。 阅读全文
posted @ 2020-07-21 14:02 二次元攻城狮 阅读(1692) 评论(1) 推荐(3) 编辑
摘要:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。最差时间复杂度 O(n²),最优时间复杂度 O(n) ,平均时间复杂度 O(n²)。 阅读全文
posted @ 2020-03-12 16:07 二次元攻城狮 阅读(285) 评论(0) 推荐(0) 编辑
摘要:斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)。 阅读全文
posted @ 2020-03-03 15:02 二次元攻城狮 阅读(711) 评论(0) 推荐(0) 编辑
摘要:Knuth-Durstenfeld Shuffle->每次从未处理的数据中随机取出一个数字,然后把该数字放在数组的尾部,即数组尾部存放的是已经处理过的数字。 阅读全文
posted @ 2020-03-01 21:27 二次元攻城狮 阅读(874) 评论(0) 推荐(0) 编辑
摘要:算法代码:result=(total-1)/size+1 //total:总记录数,size:每页记录数,result:分页总页码 阅读全文
posted @ 2020-02-08 15:36 二次元攻城狮 阅读(441) 评论(0) 推荐(0) 编辑

  1. 1 烟花易冷 小柔Channel
  2. 2 红颜如霜 江壹纯
  3. 3 不谓侠 小桃Channel
  4. 4 小小恋歌 新坦结衣
  5. 5 神预言 袁娅维TIARAY
不谓侠 - 小桃Channel
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.
点击右上角即可分享
微信分享提示
主题色彩