数据结构与算法

使用redis的bitmap实现签到功能

一、签到功能的实现思路 最常规的思路,一般我们会选择每个用户,每天的签到作为一条mysql表的数据,然后一条一条的记录。这种方式的确是可以的,但是它的局限性很大,只能适用于小规模公司的内部系统,人数不多的情况下。 如果是用于普通大众的话,这就将不堪设想。如果有一百万用户,每天签到,一个月,需要存的数据就会有三千万条数据,一年,需要存三亿六千万条数据。这要是用户量再大点,或者使用的时长再长点,这数据

【React源码19】深入学习React 源码实现—— setState 中的双端环状链表处理

🧠 深入学习React源码实现之 setState 中的双端环状链表处理 一、引言:为什么 React 的 setState 需要使用双端环状链表?在 React 的早期版本中,setState 是一个同步更新操作,这导致频繁调用时容易造成性能瓶颈。随着 React Fiber 架构的引入(React 16&#

揭开最大子段和问题的神秘面纱:从暴力法到极致优化的算法之旅

最大子段和问题:从暴力法到优化的算法解析 题目链接 题目描述 给出一个长度为 nn 的序列 aa,选出其中连续且非空的一段使得这段和最大。 输入格式 第一行是一个整数,表示序列的长度 n。 第二行有 n 个整数,第 i 个整数表示序列的第 ii 个数字 ai。 输出格式输出一行一个整数表示答案。 输入输出样例输入 #1&#xff

mybaits-plus优雅的实现数据权限

前言 项目使用mybaits-plus,所以在mybaits-plus的基础上增加数据权限的过滤 mybaits-plus自带数据权限支持,但由于系统数据权限相对复杂,通过查看文档发现好像并不适用,且原项目版本低,所以最终还是通过自己的方式实现 数据范围 我们系统相对复杂,比如可以按机构/用户等多种维度过滤,并且可以指定全局和某个特定接口的过滤方式 其实数据范围过滤落地也不过是:数据表的某字段限制

【java-数据结构】七大排序 “华山论剑”:谁才是时间复杂度的王者?,从初学者到高手必备技巧。

我的个人主页 我的专栏: 人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!! 点赞👍收藏❤ 一、引言在计算机编程的世界里,排序算法是基础且至关重要的一部分。不同的排序算法在时间复杂度、空间复杂度和稳定性等方面各有优劣。本文将详细介绍七种常见的排序

21个MySQL表设计的经验准则

1.命名规范 数据库表名、字段名、索引名等都需要命名规范,可读性高(一般要求用英文),让别人一看命名,就知道这个字段表示什么意思。 比如一个表的账号字段,反例如下: acc_no,1_acc_no,zhanghao 正例: account_no,account_number 表名、字段名必须使用小写字母或者数字,禁止使用数字开头,禁止使用拼音,并且一般不使用英文缩写。 主键索引名为pk_字段

MySql普通索引的管理

一、普通索引的使用规则: 一个表中可以有多个index 字段的值可以重复,且可以赋值为null 通常在where条件中的字段上配置Index index索引字段的标志为MUL 二、普通索引的语法结构: 添加索引(新表) CREATE TABLE 库.表( 字段列表 , INDEX(字段名) , INDEX(字段名) ); 添加索引(旧表) CREATE INDEX 索引名 ON 库.

MySQL 查询优化(十):冷门知识—— MySQL自定义变量

MySQL 是可以自定义临时变量的,而临时变量在做查询优化和静态查询分析时十分有用。而实际上很少有人记得 MySQL 的自定义变量。本篇文章讲述 MySQL 的自定义变量的概念及特点。 MySQL 的自定义 就是存储值的临时容器,只要与服务端的连接是活跃的,容器中的值可以保存和使用。可以通过简单的 SET 或 SELECT语句 设置自定义变量,如下所示: SET @one := 1; SET

MySQL 应用简单说明

1. 文档说明 这里的文档说的是官方的文档,可以在 中找到(以mysql5.7为例) 可以点击右方的按钮进行选择下载相应的文档文件。 2. CentOS7安装MySQL 这里指完全按照上面的文档说明进行安装的方式。 (注:下面的指令都默认使用root账号操作,如果非root 账号,请在前面加上sudo) 下载 相关的 r

必学算法——贪心

目录 前言 一、什么是贪心算法 二、算法原理 三、贪心算法的基本步骤 四、贪心算法的特点 五、优缺点分析 六、适用条件 七、经典应用 七、实例分析 八、经典例题 1.翻硬币 代码题解 2.一键三连 代码题解 3.分开元音字母 九、结语 前言贪心算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在