0%

开始

🚀🚀🚀 盛年不重来,一日难再晨。及时当勉励,岁月不待人。

🍇埃氏筛和线性筛

本文中介绍两种快速求出给定范围内所有质数的快速办法,不用再逐个判断,大大缩短了质数的求解时间,可以用来解决很多算法问题

素数のイメージ画像

🧢 Java的移位操作符

介绍Java中的移位操作符,一共有三种,从数据底层的存储开始介绍,然后依次说明正数和负数使用不同移位运算符的计算方法并举例

image-20240605170314885

🐇 JDK中的动态代理

本文主要介绍JDK中的代理是如何实现的,从基本的例子出发,先介绍简单的静态代理,然后重点介绍动态代理,开始分析源码,之后展示JDK动态生成的代理类长什么样,是如何实现代理的,最后总结整个代理的流程

Understanding the Proxy Design Pattern | by Mithun Sasidharan | Medium

🍖 快速排序和堆排序

本文主要介绍数组中的快速排序和堆排序的执行流程,介绍这两个算法的原理,针对快速排序来说,就是每一趟确定一个元素的位置,针对堆排序来说,就是每一次调整都找到一个最值元素

電腦科學概論:演算法入門概要

🕧 二分查找

根据灵神的二分查找 题单 以及 视频教程 总结的二分查找模版,主要针对闭区间,左闭右开区间,开区间三种形式去找大于等于target的元素位置做了总结,并针对>,>=,<,<=四种关系做了转换,核心点在于找到循环不变量,可以理解为找到target,之后确定上下界就可以完美利用二分模版解决问题

🚍 滑动窗口

根据灵神的滑动窗口 题单 总结的滑动窗口模版,主要分为两个大类,重点在于变长滑动窗口时如何减小时间复杂度

sliding-window

🍉 873.最长的斐波那契子序列的长度

如果序列 X_1, X_2, ..., X_n 满足下列条件,就说它是 斐波那契式 的:

  • n >= 3
  • 对于所有 i + 2 <= n,都有 X_i + X_{i+1} = X_{i+2}

给定一个严格递增的正整数数组形成序列 arr ,找到 arr 中最长的斐波那契式的子序列的长度。如果一个不存在,返回 0 。

(回想一下,子序列是从原序列 arr 中派生出来的,它从 arr 中删掉任意数量的元素(也可以不删),而不改变其余元素的顺序。例如, [3, 5, 8][3, 4, 5, 6, 7, 8] 的一个子序列)