缓存leetcode 146 lru
浅谈sql执行流程、innodb架构设计、buffer pool缓存池
一.从服务端到数据库sql执行流程: 1.SQL接口:负责处理接收到sql的语句 2.查询解析器:负责将sql变成数据库可以看懂的语言 3.查询优化器:选择最优的查询路径(针对你编写的复杂sql语句生成查询路径树,然后从中选择一条最优的查询路径) 4.执行器:根据执行计划调用存储引擎接口(执行器会根 ......
leetcode 3.无重复字符的最长子串
leetcode 第三题:无重复字符的最长子串 自己写的: 第一想法:滑动窗口,用两个指针指向窗口的左右边界,用一个HashSet存储窗口内已有的值。另写一个find_first_temp方法用于出现重复字符时寻找新的左边界,左边界更新时也要更新set,将新左边界之前的元素删掉。 public in ......
Spring如何利用三级缓存解决单例Bean的循环依赖
循环依赖:就是N个类循环(嵌套)引用。 通俗的讲就是N个Bean互相引用对方,最终形成闭环。用一幅经典的图示可以表示成这样(A、B、C都代表对象,虚线代表引用关系): 注意:其实可以N=1,也就是极限情况的循环依赖:自己依赖自己 可以设想一下这个场景:如果在日常开发中我们用new对象的方式,若构造函 ......
使用 JVM 进程缓存 Caffeine
使用 JVM 进程缓存的优点就是没有网络开销,性能速度最快;缺点就是容量有限,无法共享;比较适合性能要求高,缓存数据量小的场景。如果我们自己实现 JVM 进程缓存的话,会使用到 Map 数据类型,相关的过期移除策略以及容量控制都得自己实现,比较麻烦。Caffeine 是一个基于 Java8 开发的提 ......
leetcode 2.两数相加
leetcode 第二题:两数相加 以链表为载体模仿加法进位,同时遍历两个链表,逐位计算它们的和,并与当前位置的进位值相加。如果两个链表的长度不同,则可以认为长度短的链表的后面有若干个 0 。如果链表遍历结束后,有 carry>0,还需要在答案链表的后面附加一个节点,节点的值为 carry。 易错点 ......
07PCIE数据卡BRAM缓存中断采集
软件版本:vitis2021.1(vivado2021.1) 操作系统:WIN10 64bit 硬件平台:适用XILINX A7/K7/Z7/ZU/KU系列FPGA 登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑! 7.1概述 在方案中,使用基于AXI4实现的FDMA来实现 ......
08PCIE数据卡DDR缓存中断采集
软件版本:vitis2021.1(vivado2021.1) 操作系统:WIN10 64bit 硬件平台:适用XILINX A7/K7/Z7/ZU/KU系列FPGA 登录"米联客"FPGA社区-www.uisrc.com视频课程、答疑解惑! 8.1概述 上一个例子演示了用BRAM作为数据缓存,显然板 ......
leetcode 1.两数之和
leetcode 第一题:两数之和 1.暴力枚举: 最容易想到的方法是枚举数组中的每一个数 x,寻找数组中是否存在 target - x。 当我们使用遍历整个数组的方式寻找 target - x 时,需要注意到每一个位于 x 之前的元素都已经和 x 匹配过,因此不需要再进行匹配。而每一个元素不能被使 ......
.Net Core WebAPI 缓存
Asp.Net Core WebAPI 缓存 一、缓存 缓存指在中间层中存储数据的行为,该行为可使后续数据检索更快。 从概念上讲,缓存是一种性能优化策略和设计考虑因素。 缓存可以显著提高应用性能,方法是提高不常更改(或检索成本高)的数据的就绪性。 二、RFC9111 在最新的缓存控制规范文件RFC9 ......
leetcode 2706 购买两块巧克力
题目: 2706 购买两块巧克力 思路: 找两个最小值。 分情况讨论 代码 class Solution: def buyChoco(self, prices: List[int], money: int) -> int: # 遍历一遍,找2个最小值 # 找一个最小值我们都会。 # 找次小值,就分两 ......
.net中数据的缓存问题,操作的是引用类型的地址,是同一个对象
使用缓存后,不断的写操作,需注意引用的是地址问题,避免产生数据越写越多。一个表写入10亿数据问题. 总结: 1.缓存的中的对象如果是“引用类型”,数据取出后,如果对该值进行修改,实际上是修改了缓存里面的值。 2.对从缓存取出的数据,如果需要修改,要确认修改后会引起的结果是否符合自己的预期。 //Ht ......
在不使用内置函数和中间变量的情况交换数字LeetCode力扣题解面试题16.01
#异或法#Kotlin ```Kotlinclass Solution { fun swapNumbers(numbers: IntArray): IntArray { numbers[0] = numbers[0] xor numbers[1] numbers[1] = numbers[1] xo ......
[LeetCode] 1578. Minimum Time to Make Rope Colorful
Alice has n balloons arranged on a rope. You are given a 0-indexed string colors where colors[i] is the color of the ith balloon. Alice wants the rope ......
[LeetCode Hot 100] LeetCode111. 二叉树的最小深度
题目描述 思路 二叉树的最小深度就是第一个叶子节点所在的层数 方法一:前序遍历(递归、dfs) /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeN ......
[LeetCode Hot 100] LeetCode110. 平衡二叉树
题目描述 思路 LeetCode104. 二叉树的最大深度 变种 方法一:后序遍历(递归、dfs) /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * Tre ......
[LeetCode Hot 100] LeetCode543. 二叉树的直径
题目描述 思路 所谓二叉树的直径,就是左右子树的最大深度之和。 方法一: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; ......
[LeetCode Hot 100] LeetCode104. 二叉树的最大深度
题目描述 思路 熟练掌握二叉树的遍历算法 方法一:层序遍历(迭代)+计数 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; ......
[LeetCode Hot 100] LeetCode102. 二叉树的层序遍历
题目描述 思路 方法一:递归 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * Tree ......
[LeetCode Hot 100] LeetCode144. 二叉树的前序遍历
题目描述 思路 熟练掌握迭代和递归的代码。 递归代码:额外写一个函数void preOrder(TreeNode node, List res) 迭代代码:会用到数据结构——栈。先入栈当前节点的右子节点,再入栈左子节点。 方法一:递归 /** * Definition for a binary tr ......
[LeetCode Hot 100] LeetCode94. 二叉树的中序遍历
题目描述 思路 熟练掌握迭代和递归的代码。 递归:额外写一个函数void inOrder(TreeNode node, List res) 迭代:令cur = root,一直往左子树找,找到最后一个左子节点,当cur为空,就开始处理栈顶元素(将栈顶元素加入结果集),随后将cur设置为右子节点,继续执 ......
[LeetCode Hot 100] LeetCode145. 二叉树的后序遍历
题目描述 思路 递归:额外写一个函数void postOrder(TreeNode node, List res) 迭代: 前序遍历:根 左 右 将前序遍历改造成:根 右 左 然后反转根右左为:左 右 根,即为后序遍历 优化一下: while (!stack.isEmpty()) { TreeNod ......
Leetcode每日一题
目录202312/2512/2612/27 2023 12月往前的应该就不会补题解了,大概有时间会往前一直补到12/1的题解 12/25 1276. 不浪费原料的汉堡制作方案 题目分析: 数学题,解二元一次方程即可 具体过程有$$\left { \begin{array}{c}4x+2y=tomat ......
【动态规划】leetcode 不同路径问题
题目名称:63. 不同路径 II 链接:https://leetcode.cn/problems/unique-paths-ii/description/ 题目内容: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器 ......
后端技术:Redis进行数据缓存的两种方法
在fastapi项目中Redis进行数据缓存的两种不同的方法的demo 第一种方法:通过FastAPI应用状态 准备文件:models/redis.py为fastapi的数据库模型文件 import os import aioredis from aioredis import Redis asyn ......
OB_执行计划缓存
执行计划缓存淘汰 自动淘汰 如果租户内存大小为10G,并且变量设置如下: ob_plan_cache_percentage = 10; ob_plan_cache_evict_high_percentage = 90; ob_plan_cache_evict_low_percentage = 50; ......
Flutter 中常用的缓存数据方式
SharedPreferences: 优点:使用简单,轻量级,适用于少量数据的缓存;缺点:不适合存储大型、结构化、复杂的数据; SQLite: 优点:可以存储大量、结构化、复杂的数据,支持复杂的数据查询操作;缺点:比较复杂,需要学习 SQL 和数据库操作; Hive: 优点:快速、可扩展,性能较好, ......
shared_preferences缓存
封装 import 'dart:convert'; import 'package:shared_preferences/shared_preferences.dart'; class JSpUtil { JSpUtil._internal(); // 私有的构造方法,防止外部实例化 factory ......
[LeetCode] 2660. Determine the Winner of a Bowling Game
You are given two 0-indexed integer arrays player1 and player2, that represent the number of pins that player 1 and player 2 hit in a bowling game, re ......
leetcode 1633. 各赛事的用户注册率
https://leetcode.cn/problems/percentage-of-users-attended-a-contest/?envType=study-plan-v2&envId=sql-free-50 聚合函数分组后计算的是一组内的数据, 分组前我们认为所有数据是一组 本题注意还需要 ......
【LeetCode】131. 分割回文串
题目 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1: 输入:s = "aab" 输出:[["a","a","b"],["aa","b"]] 示例 2: 输入:s = "a" 输出:[["a ......