小白學演算法:買賣股票的最佳時機!

  • 2020 年 10 月 29 日
  • 筆記

本文已收录至 Github《小白学算法》系列: //github.com/vipstone/algorith 今天蚂蚁集团(支付宝)正式上市了,毫无疑问这一举措又造就了一大批富豪,然而作为局外人的我们,也只有羡慕的份了。明明可以考运气吃饭,咱非得靠实力,你说冤不冤啊? 但话又说回来,能进蚂蚁的人也都 …

Continue Reading

一文詳解「隊列」,手擼隊列的3種方法!

  • 2020 年 10 月 21 日
  • 筆記

本文已收录至我的 Github《算法图解》系列: //github.com/vipstone/algorithm 前面我们介绍了 栈(Stack) ,队列和栈是比较像的一种数据结构。我们可以想象有很多辆汽车正在通过单行道的隧道,所有车辆不能插队、不能掉头,先进来的车也先出去,我们可以把这种特征的数据 …

Continue Reading

演算法圖解:如何找出棧中的最小值?

  • 2020 年 10 月 15 日
  • 筆記

前面我们学习了很多关于栈的知识,比如 《动图演示:手撸堆栈的两种实现方法!》 和 《JDK 竟然是这样实现栈的?》 ,那么接下来我们再来刷一些关于栈的经典面试题以巩固学过的知识。 我们今天的面试题是这样的... 题目 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中 …

Continue Reading

鏈表反轉的兩種實現方法,後一種擊敗了100%的用戶!

  • 2020 年 10 月 13 日
  • 筆記

链表反转是一道很基础但又非常热门的算法面试题,它也在《剑指Offer》的第 24 道题出现过,至于它有多热(门)看下面的榜单就知道了。 从牛客网的数据来看, 链表反转的面试题分别霸占了【上周考过】和【研发最爱考】的双重榜单 ,像网易、字节等知名互联网公司都考过,但通过率却低的只有 30%,所以本文我 …

Continue Reading

動圖演示:手擼堆棧的兩種實現方法!

  • 2020 年 9 月 24 日
  • 筆記

正式开始之前,先和各位朋友聊聊后期的一些打算,后面的文章计划 写一些关于数据结构和算法的内容 ,原因很简单底层结构决定上层建筑嘛,对于框架满天飞的今天,我们不止要学习如何使用框架,更要了解它的原理以及底层数据结构,只有这样我们才能更好的应用它。 当然,除了上述原因之外,还有一个重要因素是为了搞定面试 …

Continue Reading

Java新特性:數據類型可以扔掉了?

  • 2020 年 9 月 21 日
  • 筆記

在很久很久以前,我们写代码时要慎重的考虑变量的数据类型,比如下面这些: 枚举 :尽管在 JDK 5 中增加了枚举类型,但是 Class 文件常量池的 CONSTANT_Class_info 类型常量并没有发生任何语义变化,仍然是代表一个类或接口的符号引用,没有加入枚举,也没有增加过“CONSTANT …

Continue Reading

URL 去重的 6 種方案!(附詳細實現程式碼)

  • 2020 年 9 月 10 日
  • 筆記

URL 去重在我们日常工作中和面试中很常遇到,比如这些: 可以看出,包括阿里,网易云、优酷、作业帮等知名互联网公司都出现过类似的面试题,而且和 URL 去重比较类似的,如 IP 黑/白名单判断等也经常出现在我们的工作中,所以我们本文就来“盘一盘”URL 去重的问题。 URL 去重思路 在不考虑业务场 …

Continue Reading

MySQL「被動」性能優化匯總!

  • 2020 年 8 月 10 日
  • 筆記

年少不知优化苦,遇坑方知优化难。 ——村口王大爷 本文内容导图如下: 我之前有很多文章都在讲性能优化的问题,比如下面这些: 《switch 的性能提升了 3 倍,我只用了这一招!》 《String性能提升10倍的几个方法!(源码+原理分析)》 《局部变量竟然比全局变量快 5 倍?》 《池化技术到达有 …

Continue Reading

為什麼建議你使用枚舉?

  • 2020 年 6 月 28 日
  • 筆記

枚举是 JDK 1.5 新增的数据类型,使用枚举我们可以很好的描述一些特定的业务场景,比如一年中的春、夏、秋、冬,还有每周的周一到周天,还有各种颜色,以及可以用它来描述一些状态信息,比如错误码等。 枚举类型不止存在在 Java 语言中,在其它语言中也都能找到它的身影,例如 C# 和 Python 等 …

Continue Reading