golang算法
fwhezfwhez
欢迎大家成为我的粉丝。
展开
-
统计项目行数
仓库:https://github.com/cgag/locrealase: https://github.com/cgag/loc/releases确保loc放入path,cd到指定目录,执行loc>> cd projectName>> loc------------------------------------------------------------...原创 2019-12-31 14:38:20 · 236 阅读 · 0 评论 -
redis 进阶
附以下模块的使用场景,有些典型场景未考虑进去的情况,欢迎有经验的读者前来补充。前言假定使用者,已经在业务中熟练掌握了连接,SET,GET,SETEX。Redis还有一些其它的非常好的模块可以用在业务里。1. 原子增减incr客户端命令加一,减一。该命令为原子操作,可以在多客户端调用并发安全。set index 0incr indexdecr index使用场景: 在线用户,接口...原创 2019-10-15 12:08:47 · 150 阅读 · 0 评论 -
golang算法—— 使用两个栈实现一个队列
前言阅读本文,假定已经了解了基本算法。队列: 先入先出。栈: 先进后出。分析使用两个栈串联,可以实现先进先出。但是,得注意以下两点:队列在入列时,stack2必须为空,stack1满员,保证顺序。队列在出列时,stack1必须为空,stack2满员实现栈type Stack struct { element []int}func NewStack(col int) ...原创 2019-08-28 14:54:09 · 1317 阅读 · 0 评论 -
golang算法-计算10000个数里最小的10个数
前言从包含M个数字的池子里,取出前k个(最小的)数字。分析使用mapreduce思想,将M个数字的池,拆成容量为vol的子池,对子池取出最小的10个数,将所有子池的最小十个数合并,再取一下最小10个数。生成M个数字的大数组func GenMNumberArr(M int, seed time.Time) []int { var rs = make([]int, 0, M) ran...原创 2019-08-28 16:22:14 · 1136 阅读 · 0 评论 -
golang算法-链表逆序
前言链表逆序,表述的场景为:A->B->C->D 逆序后: D->C>B>A分析需要插入数据,Insert方法需要打印数据,Print方法插入数据时,需要定位最后一个节点,LastNode方法最少需要两个偏移量进行迭代,因为,当判定条件成立时,需要将链表的头部,指向空值的父节点。LastNode()// 链表的长度,不包过头type N...原创 2019-08-28 17:33:52 · 728 阅读 · 0 评论 -
golang算法-判断链表是否有环
前言链表有环,体现为:A->B->C->D->B …分析需要将遍历过的节点存入map,以址为key,空struct为值遍历时,当前节点是否已存在,存在即有环。实现链表// 链表的长度,不包过头type Node struct { Next *Node Data int}type LinkList struct { Header *Node}...原创 2019-08-29 10:11:29 · 1078 阅读 · 0 评论