程序员小灰_社区达人页

个人头像照片
程序员小灰

10年Java开发经验,图书《漫画算法》作者,微信公众号【程序员小灰】运营者,全网粉丝超过100万,擅长Java语言和数据结构

暂无精选文章
暂无更多信息

2022年04月

  • 04.24 22:48:20
    发表了文章 2022-04-24 22:48:20

    漫画:什么是鸡尾酒排序?(修订版)

    昨天小灰发布的漫画中存在一些勘误,所以今天重新发布一篇修订版,修正了代码当中的一些细节问题。在上一篇漫画中,小灰介绍了冒泡排序的思路和几种变化:漫画:什么是冒泡排序?那么,鸡尾酒排序又是何方神圣呢?我们这一期将会详细讲述。
  • 04.24 22:36:17
    发表了文章 2022-04-24 22:36:17

    漫画:什么是冒泡排序?

    什么是冒泡排序?冒泡排序的英文Bubble Sort,是一种最基础的交换排序。 大家一定都喝过汽水,汽水中常常有许多小小的气泡,哗啦哗啦飘到上面来。这是因为组成小气泡的二氧化碳比水要轻,所以小气泡可以一点一点向上浮动。
  • 04.24 16:53:27
    发表了文章 2022-04-24 16:53:27

    漫画:动态规划解决扔鸡蛋问题

    在上一篇漫画中,小灰介绍了一道有趣的智力题:漫画:有趣的扔鸡蛋问题那么,如何利用动态规划来求出扔鸡蛋问题的通解? 换句话说,有M层楼 / N个鸡蛋,要找到鸡蛋摔不碎的临界点,需要尝试几次?
  • 04.24 16:09:45
    发表了文章 2022-04-24 16:09:45

    漫画:有趣的扔鸡蛋问题

    扔鸡蛋问题,有2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度。比如鸡蛋在第9层没有摔碎,在第10层摔碎了,那么鸡蛋不会摔碎的临界点就是9层。
  • 04.24 15:55:53
    发表了文章 2022-04-24 15:55:53

    漫画:什么是拜占庭将军问题?

    什么是拜占庭将军问题?在很久很久以前,拜占庭是东罗马帝国的首都。那个时候罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信使传递消息。
  • 04.24 15:44:04
    发表了文章 2022-04-24 15:44:04

    漫画:如何实现抢红包算法?

    发出一个固定金额的红包,由若干个人来抢,需要满足哪些规则?所有人抢到金额之和等于红包金额,不能超过,也不能少于。每个人至少抢到一分钱。要保证所有人抢到金额的几率相等。
  • 04.24 15:31:51
    发表了文章 2022-04-24 15:31:51

    漫画:什么是字典序算法?

    给定一个正整数,实现一个方法来求出离该整数最近的大于自身的“换位数”。什么是换位数呢?就是把一个整数各个数位的数字进行全排列,从而得到新的整数。例如53241和23541。
  • 04.24 15:01:10
    发表了文章 2022-04-24 15:01:10

    漫画:什么是八皇后问题?

    国际象棋中的皇后,可以横向、纵向、斜向移动。如何在一个8X8的棋盘上放置8个皇后,使得任意两个皇后都不在同一条横线、竖线、斜线方向上?让我们来举个栗子,下图的绿色格子是一个皇后在棋盘上的“封锁范围”,其他皇后不得放置在这些格子: 下图的绿色格子是两个皇后在棋盘上的“封锁范围”,其他皇后不得放置在这些格子: 那么,如何遵循规则,同时放置这8个皇后呢?让我们来看看小灰的回答。
  • 04.23 23:20:47
    发表了文章 2022-04-23 23:20:47

    一张优惠券引发的血案

    整个优惠券中心分为前端和后端,小灰所负责的是后端RPC接口的开发。接口中包含“查券”和“领券”两个方法,项目大体结构如下。
  • 04.23 23:13:48
    发表了文章 2022-04-23 23:13:48

    漫画:如何用脚本抢月饼?

    如何每隔一段时间让抢购按钮自动被点击呢?很简单,原生Javascript当中有一个定时器函数 setInterval,该函数有两个参数,第一个参数是想要执行的回调函数,第二个参数是触发执行的间隔时间(单位毫秒),抢月饼脚本简单的实现。
  • 04.23 23:02:06
    发表了文章 2022-04-23 23:02:06

    漫画:什么是机器学习?

    机器学习按照方式不同主要分为三大类,有监督学习(Supervised learning)、无监督学习(Unsupervised learning)以及半监督学习(Semi-supervised learning)。
  • 04.23 22:56:56
    发表了文章 2022-04-23 22:56:56

    漫画:什么是架构师?

    架构师英文architect,这个词源于建筑学。软件工程当中的架构师和建筑工程当中建筑师有许多相通之处,都是负责“产品”宏观的架构设计。 在一个团队里,架构师充当了技术Leader的角色,不仅要完成项目的整体设计和规划,还要带领技术团队一起解决实际问题,攻克技术难点,使得软件的设计、开发、测试、发布流程得以顺利完成。
  • 04.23 22:49:54
    发表了文章 2022-04-23 22:49:54

    漫画:什么是单例模式?(整合版)

    为什么这样写呢?我们来解释几个关键点: 1.要想让一个类只能构建一个对象,自然不能让它随便去做new操作,因此Signleton的构造方法是私有的。 2.instance是Singleton类的静态成员,也是我们的单例对象。它的初始值可以写成Null,也可以写成new Singleton()。至于其中的区别后来会做解释。 3.getInstance是获取单例对象的方法。
  • 04.23 22:38:43
    发表了文章 2022-04-23 22:38:43

    漫画:什么是volatile关键字?(整合版)

    Java内存模型简称JMM(Java Memory Model),是Java虚拟机所定义的一种抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让java程序在各种平台下都能达到一致的内存访问效果。
  • 04.23 22:21:18
    发表了文章 2022-04-23 22:21:18

    漫画:什么是跳跃表?

    如果是没有商品名称的全量查询怎么办?总不可能把数据库里的所有记录全查出来吧,而且还要支持不同字段的排序。 所以,只能提前在内存中存储有序的全量商品集合,每一种排序方式都保存成独立的集合,每次请求的时候按照请求的排序种类,返回对应的集合。
  • 04.23 22:11:50
    发表了文章 2022-04-23 22:11:50

    漫画:什么是动态规划?(整合版)

    题目: 有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。 比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1,1,1,1。
  • 04.23 21:54:15
    发表了文章 2022-04-23 21:54:15

    漫画算法:判断2的乘方

    题目:实现一个方法,判断一个正整数是否是2的乘方(比如16是2的4次方,返回True;18不是2的乘方,返回False)。要求性能尽可能高。
  • 04.23 21:47:57
    发表了文章 2022-04-23 21:47:57

    漫画算法:最小栈的实现

    题目:实现一个栈,带有出栈(pop),入栈(push),取最小元素(getMin)三个方法。要保证这三个方法的时间复杂度都是O(1)。
  • 04.23 21:42:21
    发表了文章 2022-04-23 21:42:21

    漫画算法:找出缺失的整数

    题目:一个无序数组里有99个不重复正整数,范围从1到100,唯独缺少一个整数。如何找出这个缺失的整数?
  • 04.23 21:35:48
    发表了文章 2022-04-23 21:35:48

    漫画算法:辗转相除法是什么鬼?

    辗转相除法, 又名欧几里得算法(Euclidean algorithm),目的是求出两个正整数的最大公约数。它是已知最古老的算法, 其可追溯至公元前300年前。
  • 04.23 21:28:34
    发表了文章 2022-04-23 21:28:34

    漫画算法:如何判断链表有环?

    有一个单向链表,链表当中有可能出现“环”,就像下图这样。如何用程序判断出这个链表是有环链表?
  • 04.23 21:19:33
    发表了文章 2022-04-23 21:19:33

    漫画:什么是一致性哈希?

    未来两年内,系统预估的总订单数量可达一亿条左右。 按Mysql单表存储500万条记录来算,暂时不必分库,单库30个分表是比较合适的水平分表方案。
  • 04.23 21:12:17
    发表了文章 2022-04-23 21:12:17

    漫画:什么是B+树?

    这一次我们来介绍B+树。
  • 04.23 21:04:22
    发表了文章 2022-04-23 21:04:22

    漫画:什么是B-树?

    下面来具体介绍一下B-树(Balance Tree),一个m阶的B树具有如下几个特征。
  • 04.23 20:55:10
    发表了文章 2022-04-23 20:55:10

    漫画:Bitmap算法 整合版

    为满足用户标签的统计需求,小灰利用Mysql设计了如下的表结构,每一个维度的标签都对应着Mysql表的一列。
  • 04.23 20:40:24
    发表了文章 2022-04-23 20:40:24

    漫画:什么是布隆算法?

    爬虫的原理是通过种子URL来顺藤摸瓜,爬取出网站关联的所有的子网页,存入自己的网页库当中。
  • 04.23 20:24:36
    发表了文章 2022-04-23 20:24:36

    什么是A*寻路算法?

    A*寻路算法的介绍。
  • 04.23 20:15:04
    发表了文章 2022-04-23 20:15:04
  • 04.22 14:46:24
    发表了文章 2022-04-22 14:46:24

    漫画:什么是MD5算法?

    摘要哈希生成的正确姿势是什么样呢?分三步: 1.收集相关业务参数,在这里是金额和目标账户。当然,实际应用中的参数肯定比这多得多,这里只是做了简化。 2.按照规则,把参数名和参数值拼接成一个字符串,同时把给定的密钥也拼接起来。之所以需要密钥,是因为攻击者也可能获知拼接规则。 3.利用MD5算法,从原文生成哈希值。MD5生成的哈希值是128位的二进制数,也就是32位的十六进制数。
  • 04.22 14:31:49
    发表了文章 2022-04-22 14:31:49

    漫画:什么是SHA系列算法?

    SHA-1 SHA-1算法可以从明文生成160bit的信息摘要,示例如下: 给定明文: abcd SHA-1摘要: 81FE8BFE87576C3ECB22426F8E57847382917ACF SHA-1 与 MD5的主要区别是什么呢?
  • 04.22 14:19:50
    发表了文章 2022-04-22 14:19:50

    什么是AES算法?(整合版)

    如果消息被中间人截获到,即使中间人无法篡改消息,也可以窥探到消息的内容,从而暴露了通信双方的私密。 因此我们不再直接传送明文,而改用对称加密的方式传输密文.
  • 04.22 13:59:25
    发表了文章 2022-04-22 13:59:25

    漫画:什么是红黑树?

    二叉查找树(BST)具备什么特性呢?
  • 04.22 13:31:53
    发表了文章 2022-04-22 13:31:53

    漫画:什么是HashMap?

    众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。对于HashMap,我们最常使用的是两个方法:Get 和 Put。
  • 04.22 13:23:23
    发表了文章 2022-04-22 13:23:23

    漫画:高并发下的HashMap

    我们来讲解高并发环境下,HashMap可能出现的致命问题。
  • 04.22 13:08:02
    发表了文章 2022-04-22 13:08:02

    漫画:什么是ConcurrentHashMap?

    简单来说,HashMap是一个Entry对象的数组。数组中的每一个Entry元素,又是一个链表的头节点。
  • 04.21 11:51:32
    发表了文章 2022-04-21 11:51:32

    什么是动态规划?(完结篇)

    什么是动态规划?(完结篇)
  • 04.21 11:39:25
    发表了文章 2022-04-21 11:39:25

    什么是动态规划?(二)

    什么是动态规划?(二)
  • 04.21 11:30:23
    发表了文章 2022-04-21 11:30:23

    漫画:什么是动态规划?

    漫画:什么是动态规划?
  • 04.21 11:19:32
    发表了文章 2022-04-21 11:19:32

    漫画:三分钟了解敏捷开发

    漫画:三分钟了解敏捷开发
  • 04.21 11:10:31
    发表了文章 2022-04-21 11:10:31

    漫画:优秀的程序员具备哪些属性?

    漫画:优秀的程序员具备哪些属性?
  • 04.21 10:59:02
    发表了文章 2022-04-21 10:59:02

    漫画算法:无序数组排序后的最大相邻差值

    漫画算法:无序数组排序后的最大相邻差值
  • 04.21 10:42:19
    发表了文章 2022-04-21 10:42:19

    漫画:什么是人工智能?

    漫画:什么是人工智能?
  • 04.21 10:18:13
    发表了文章 2022-04-21 10:18:13

    漫画算法:判断2的乘方

    漫画算法:判断2的乘方
  • 04.21 10:02:11
    发表了文章 2022-04-21 10:02:11

    漫画:什么是大数据?

    漫画:什么是大数据?
  • 发表了文章 2022-07-13

    实操教学|如何用Serveless3分钟做好邀请函?

  • 发表了文章 2022-05-07

    漫画:有趣的“分苹果”问题

  • 发表了文章 2022-05-07

    漫画:什么是IaaS、PaaS、SaaS?

  • 发表了文章 2022-05-07

    Java底层知识:什么是 “桥接方法” ?

  • 发表了文章 2022-05-07

    谷歌面试题:男孩多还是女孩多?

  • 发表了文章 2022-05-07

    花了整整两周,小灰肝出一份算法路线图!

  • 发表了文章 2022-05-07

    如何让数据结构可视化?

  • 发表了文章 2022-05-07

    女朋友问小灰:什么是数据仓库?什么是数据湖?什么是智能湖仓?

  • 发表了文章 2022-05-07

    Java的“泛型”特性,你以为自己会了?(万字长文)

  • 发表了文章 2022-04-30

    什么是数据库的 “缓存池” ?(万字干货)

  • 发表了文章 2022-04-30

    天天当键盘侠,你知道从按键到响应的底层原理吗?

  • 发表了文章 2022-04-29

    一文讲透计算机的“中断”

  • 发表了文章 2022-04-29

    Java的泛型

  • 发表了文章 2022-04-29

    什么是Spring的AOP特性?

  • 发表了文章 2022-04-29

    漫画:Object类很大,你忍一下(完结篇)

  • 发表了文章 2022-04-29

    漫画:Object类很大,你忍一下

  • 发表了文章 2022-04-29

    漫画:什么是JVM的垃圾回收?

  • 发表了文章 2022-04-29

    什么是设计模式?程序员如何学好设计模式?

  • 发表了文章 2022-04-29

    漫画设计模式:什么是 “装饰器模式” ?

  • 发表了文章 2022-04-29

    漫画:什么是 “原型模式” ?

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息