初级会员
  • 第 5981 位会员
  • lobo
  • 2016-08-19 08:38:43
  • Offline
  • 18 74

最近发布的项目

    暂无

最近的评论

  • 评论了博文 golang 笔记01
    // 输入单向链表,每隔K个反转一次 func reserveLinkListK(head \*node, k int) *node { if head == nil { return head } var tmpHead *node = head var tmpNode0, tmpNode1 *node var counter int for { if counter % k == 0 { if counter > 0{ tmpHead = tmpNode0 } tmpNode0 = tmpHead.next }else{ if tmpNode0 == nil || tmpNode0.next == nil{ break } tmpNode1 = tmpNode0.next tmpNode0.next = tmpNode1.next tmpNode1.next = tmpHead.next tmpHead.next = tmpNode1 } counter++ } return head }
  • 评论了博文 golang 笔记01
    // 面试中最容易懵逼的题目,看似简单,不自己手写一遍是会懵逼的 type node struct { data int next *node } func Demo0() { var head *node = &node{} var tmpNode *node = head for i := 1; i < 10; i++ { tmpNode.next = &node{data: i} tmpNode = tmpNode.next } ShowList(head) reverseList(head) ShowList(head) } // 打印单链表 func ShowList(head *node) { var tmp *node = head.next for ; tmp != nil; tmp = tmp.next { fmt.Println(tmp.data) } } // 反转单链表 func reverseList(head *node) { var node0 *node = head.next var tmpNode *node for node0.next != nil { tmpNode = node0.next node0.next = tmpNode.next tmpNode.next = head.next head.next = tmpNode } }
  • 评论了博文 php
    PHP自动加载spl_autoload_register和__autoload, https://www.jb51.net/article/37906.htm spl_autoload_register 优势: 1、 遇到不存在文件是并不抛出异常中断程序,所以对于代码管理删除老代码,而有些遗留调用,不至于使得线上程序崩溃 2、可以注册多个自动加载函数,更加精准灵活,这样我们就不用维护一个非常复杂的__autoload函数了
  • 评论了博文 redis
    利用有序集合设计附近的人,一个集合保存uid的x坐标,一个集合保存uid的y坐标; 已知某用户的坐标,可先筛选范围内的x集合,筛选范围内的y集合; 求两数据uid的交集,即附近范围内的用户
  • 评论了博文 扫雷--生成雷阵图
    #4 @lobo 实战引申:设计一个长期抽奖的系统,背景参与用户数量未知,奖品种类和数量已知,目的尽量使用户抽到奖品的概率一样; 假设:奖品a有100个,奖品b有200个,奖品c有500个 为了每次抽奖概率一样,我们设置a的概率5%,b的概率10%,c的概率20% 为此我们假设有个产品d的概率65%,但产品d不发放任何东西,相当于未中奖: mt_rand() % 10000<10000*0.05,中奖a mt_rand() % 10000<10000*0.1,中奖b mt_rand() % 10000<10000*0.2,中奖c 为了更安全,可以奖品个数分批配置,根据每段参与人数和时间,再调整概率