自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到我的编程小屋

嗨呀好气呀,写的博客没人看(╥╯^╰╥)

  • 博客(147)
  • 收藏
  • 关注

原创 springboot项目整理(持续更新)

学习springboot过程中的知识整理

2022-09-02 21:05:53 286

原创 工欲善其事必先利其器——盘点PAT中非常好用的工具(持续更新)

我有的时候在刷PAT的题目的时候,做完之后去拜读大神们的代码,从中收益颇多,我觉得有必要写一个经验贴来记录我在刷题的过程中自己的一些反思和一些非常好用的譬如函数啊,技巧啊什么的,希望能够帮到大家一. isdigital()和isalpha()1.头文件(c++),<ctype.h>(c语言):这两个头文件中包含了一系列关于字符处理的一些函数,在处理字符串问题中,可以使用这里面的函数...

2019-03-09 16:14:36 2332

原创 [LeetCode 1401]圆和矩形是否有重叠

给你一个以 (radius, xCenter, yCenter) 表示的圆和一个与坐标轴平行的矩形 (x1, y1, x2, y2) ,其中 (x1, y1) 是矩形左下角的坐标,而 (x2, y2) 是右上角的坐标。如果圆和矩形有重叠的部分,请你返回 true ,否则返回 false。换句话说,请你检测是否 存在 点 (xi, yi) ,它既在圆上也在矩形上(两者都包括点落在边界上的情况)。

2023-06-25 13:06:02 287

原创 AcWing 243. 一个简单的整数问题2

表示把 A[l],A[l+1],…,A[r] 都加上 d。,表示询问数列中第 l∼r 个数的和。对于每个询问,输出一个整数表示答案。

2023-05-20 15:47:19 616

原创 [LeetCode 1237]找出给定方程的正整数解

给你一个函数 f(x, y) 和一个目标结果 z,函数公式未知,请你计算方程 f(x,y) == z 所有可能的正整数 数对 x 和 y。满足条件的结果数对可以按任意顺序返回。

2023-02-18 12:41:09 499

原创 [LeetCode 1138]字母板上的路径

我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。在本题里,字母板为board = [“abcde”, “fghij”, “klmno”, “pqrst”, “uvwxy”, “z”],如下所示。

2023-02-12 14:09:39 401 2

原创 [LeetCode 1664]生成平衡数组的方案数

给你一个整数数组 nums。你需要选择一个下标(下标从 0 开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。比方说,如果 nums = [6,1,7,4,1] ,那么:选择删除下标 1 ,剩下的数组为 nums = [6,1,4,1]。选择删除下标 4 ,剩下的数组为 nums = [6,1,7,4]。如果一个数组满足奇数下标元素的和与偶数下标元素的和相等,该数组就是一个。请你返回删除操作后,剩下的数组 nums 是的。

2023-01-28 18:27:19 610

原创 [LeetCode 1760]袋子里最少数目的球

给你一个整数数组 nums ,其中 nums[i] 表示第 i 个袋子里球的数目。同时给你一个整数 maxOperations。请你返回进行上述操作后的最小开销。

2022-12-20 15:17:54 411

原创 [LeetCode 1781]所有子字符串美丽值之和

一个字符串的定义为:出现频率最高字符与出现频率最低字符的出现次数之差。比方说,“abaacc” 的美丽值为 3 - 1 = 2。给你一个字符串 s ,请你返回它所有子字符串的之和。

2022-12-12 19:38:39 446

原创 [LeetCode 1775]通过最少操作数使数组的和相等

题目链接:[LeetCode 1775]通过最少操作数使数组的和相等给你两个长度可能不等的整数数组 nums1 和 nums2 。两个数组中的所有值都在 1 到 6 之间(包含 1 和 6)。每次操作中,你可以选择 任意 数组中的任意一个整数,将它变成 1 到 6 之间 任意 的值(包含 1 和 6)。请你返回使 nums1 中所有数的和与 nums2 中所有数的和相等的最少操作次数。如果无法使两个数组的和相等,请返回 -1 。输入:nums1 = [1,2,3,4,5,6], nums2 = [1,1,2

2022-12-07 14:55:06 382

原创 [LeetCode 1805]字符串中不同整数的数目

题目链接:[LeetCode 1805]字符串中不同整数的数目给你一个字符串 word ,该字符串由数字和小写英文字母组成。请你用空格替换每个不是数字的字符。例如,“a123bc34d8ef34” 将会变成 " 123 34 8 34" 。注意,剩下的这些整数为(相邻彼此至少有一个空格隔开):“123”、“34”、“8” 和 “34” 。返回对 word 完成替换后形成的 不同 整数的数目。只有当两个整数的 不含前导零 的十进制表示不同, 才认为这两个整数也不同。输入:word = “a123bc34

2022-12-06 12:14:56 70

原创 [LeetCode 1774]最接近目标价格的甜点成本

题目链接:[LeetCode 1774]最接近目标价格的甜点成本你打算做甜点,现在需要购买配料。目前共有 n 种冰激凌基料和 m 种配料可供选购。而制作甜点需要遵循以下几条规则:必须选择一种冰激凌基料。可以添加 一种或多种 配料,也可以不添加任何配料。每种类型的配料 最多两份 。给你以下三个输入:baseCosts ,一个长度为 n 的整数数组,其中每个 baseCosts[i] 表示第 i 种冰激凌基料的价格。toppingCosts,一个长度为 m 的整数数组,其中每个 toppingCosts[i]

2022-12-04 21:10:59 319

原创 [LeetCode 1769]移动所有球到每个盒子所需的最小操作数

有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes ,其中 boxes[i] 的值为 ‘0’ 表示第 i 个盒子是 空 的,而 boxes[i] 的值为 ‘1’ 表示盒子里有 一个 小球。在一步操作中,你可以将 一个 小球从某个盒子移动到一个与之相邻的盒子中。第 i 个盒子和第 j 个盒子相邻需满足 abs(i - j) == 1。注意,操作执行后,某些盒子中可能会存在不止一个小球。

2022-12-02 14:50:03 442 2

原创 [LeetCode 779]第K个语法符号

我们构建了一个包含 n 行( 索引从 1 开始 )的表。首先在第一行我们写上一个 0。接下来的每一行,将前一行中的0替换为01,1替换为10。例如,对于 n = 3 ,第 1 行是 0 ,第 2 行是 01 ,第3行是 0110。给定行数 n 和序数 k,返回第 n 行中第 k 个字符。( k 从索引 1 开始。

2022-10-20 13:10:59 402

原创 [LeetCode 811]子域名访问计数

网站域名 “discuss.leetcode.com” 由多个子域名组成。顶级域名为 “com” ,二级域名为 “leetcode.com” ,最低一级为 “discuss.leetcode.com”。当访问域名 “discuss.leetcode.com” 时,同时也会隐式访问其父域名 “leetcode.com” 以及 “com”。计数配对域名 是遵循 “rep d1.d2.d3” 或 “rep d1.d2” 格式的一个域名表示,其中 rep 表示访问域名的次数,d1.d2.d3 为域名本身。

2022-10-05 14:23:22 61

原创 [LeetCode 646]最长数对链

给出 n 个数对。在每一个数对中,第一个数字总是比第二个数字小。现在,我们定义一种跟随关系,当且仅当 b < c 时,数对(c, d) 才可以跟在 (a, b) 后面。我们用这种形式来构造一个数对链。给定一个数对集合,找出能够形成的最长数对链的长度。你不需要用到所有的数对,你可以以任何顺序选择其中的一些数对来构造。

2022-09-23 14:04:18 88

原创 [LeetCode 1640]能否连接形成数组

给你一个整数数组 arr ,数组中的每个整数。另有一个由整数数组构成的数组 pieces,其中的整数也。请你以连接 pieces 中的数组以形成 arr。但是,对每个数组 pieces[i] 中的整数重新排序。如果可以连接 pieces 中的数组形成 arr ,返回 true;否则,返回 false。

2022-09-22 11:59:36 54

原创 [LeetCode 669]修剪二叉搜索树

给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在 唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。

2022-09-13 19:43:23 48

原创 [LeetCode 1598]文件夹操作日志搜集器

每当用户执行变更文件夹操作时,LeetCode 文件系统都会保存一条日志记录。下面给出对变更操作的说明:“…/” :移动到当前文件夹的父文件夹。如果已经在主文件夹下,则 继续停留在当前文件夹。“./” :继续停留在当前文件夹。“x/” :移动到名为 x 的子文件夹中。题目数据 保证总是存在文件夹 x。给你一个字符串列表 logs ,其中 logs[i] 是用户在 ith 步执行的操作。文件系统启动时位于主文件夹,然后执行 logs 中的操作。

2022-09-09 12:56:02 69

原创 [LeetCode 1387] 将整数按权重排序

我们将整数 x 的 权重 定义为按照下述规则将 x 变成 1 所需要的步数:如果 x 是偶数,那么 x = x / 2如果 x 是奇数,那么 x = 3 * x + 1比方说,x=3 的权重为 7。因为 3 需要 7 步变成 1 (3 --> 10 --> 5 --> 16 --> 8 --> 4 --> 2 --> 1)。给你三个整数 lo, hi 和 k。

2022-09-09 12:20:37 182

转载 [LeetCode 1385]两个数组间的距离值

给你两个整数数组 arr1 , arr2 和一个整数 d ,请你返回两个数组之间的 距离值。「距离值」 定义为符合此距离要求的元素数目:对于元素 arr1[i] ,不存在任何元素 arr2[j] 满足 |arr1[i]-arr2[j]|

2022-09-07 14:58:10 94

原创 [LeetCode 1592]重新排列单词间的空格

给你一个字符串 text ,该字符串由若干被空格包围的单词组成。每个单词由一个或者多个小写英文字母组成,并且两个单词之间至少存在一个空格。题目测试用例保证 text 至少包含一个单词。请你重新排列空格,使每对相邻单词之间的空格数目都 相等 ,并尽可能 最大化 该数目。如果不能重新平均分配所有空格,请 将多余的空格放置在字符串末尾 ,这也意味着返回的字符串应当与原 text 字符串的长度相等。返回 重新排列空格后的字符串。

2022-09-07 09:35:38 71

原创 [LeetCode 1373]二叉搜索子树的最大键值和

给你一棵以 root 为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。二叉搜索树的定义如下:任意节点的左子树中的键值都 小于 此节点的键值。任意节点的右子树中的键值都 大于 此节点的键值。任意节点的左子树和右子树都是二叉搜索树。

2022-09-06 13:15:42 1259

原创 容错计算和恢复

(1).容错的三个阶段错误检测–评估损坏程度–错误恢复以消除错误并重新启动(2).前向错误恢复:当前正在执行的进程从某一点继续,并对损坏和丢失的数据进行补偿(3).后向错误恢复:当前进程被回滚到某个无错误的点,并重新执行进程的损坏部分,从而继续相同的请求服务。

2022-09-04 22:21:56 953

原创 [LeetCode 1372]二叉树中的最长交错路径

给你一棵以 root 为根的二叉树,二叉树中的交错路径定义如下:选择二叉树中 任意 节点和一个方向(左或者右)。如果前进方向为右,那么移动到当前节点的的右子节点,否则移动到它的左子节点。改变前进方向:左变右或者右变左。重复第二步和第三步,直到你在树中无法继续移动。交错路径的长度定义为:访问过的节点数目 - 1(单个节点的路径长度为 0 )。请你返回给定树中最长 交错路径 的长度。

2022-09-03 15:09:49 179

原创 [LeetCode 687]最长同值路径

给定一个二叉树的 root ,返回 最长的路径的长度 ,这个路径中的 每个节点具有相同值。这条路径可以经过也可以不经过根节点。两个节点之间的路径长度 由它们之间的边数表示。

2022-09-02 16:04:14 298

原创 [LeetCode 1360]日期之间隔几天

请你编写一个程序来计算两个日期之间隔了多少天。日期以字符串形式给出,格式为 YYYY-MM-DD,如示例所示。

2022-08-31 08:23:21 791

原创 [LeetCode 1359] 有效的快递序列数目

给你 n 笔订单,每笔订单都需要快递服务。请你统计所有有效的 收件/配送 序列的数目,确保第 i 个物品的配送服务 delivery(i) 总是在其收件服务 pickup(i) 之后。由于答案可能很大,请返回答案对 10^9 + 7 取余的结果。...

2022-08-30 08:07:43 129

原创 redisson分布式锁实验(读写锁&&重入锁)

redisson分布式锁实验

2022-08-23 17:00:35 560

原创 mimalloc在windows上的编译和使用

mimalloc介绍mimalloc是微软开发的具有优异性能特征的通用分配器。最初由Daan Leijen为Koka和Lean语言的运行时系统开发mimalloc编译生成动态链接库1.下载mimalloc代码,在vs中打开(选择打开CMake文件),然后打开CMakeLists.txt:然后在项目根目录下会生成CMakeSettings.json文件,可以直接进行编辑,也可以点击json文件进入CMake设置这里配置类型选择release版本就行另外针对CMakeList.txt文件,js

2022-05-06 11:14:03 2400

原创 java中的反射

java中的反射参考java反射(超详细),写自己实验过程中的一些理解和经验1.User类(在package test.demo下):package test.demo;public class User { // 姓名 private String name; // 年龄 private Integer age; // 身高 public Integer height; //无参构造函数 public User() {

2022-04-14 21:29:24 505

原创 cuda内存的相关理解整理

cuda内存的相关理解整理寄存器:寄存器对每个线程是私有的,寄存器是SM上的稀有资源,所以当每个线程使用的寄存器越少,SM能组织的线程就越多,效率也就越高。当寄存器存不下线程的私有变量时,就会使用local memory也就是本地内存,这对效率有巨大的影响,需要尽量避免。共享内存:共享内存是片上内存,所以速度较快,其的生命周期与块Block是一致的,当block创建,共享内存被分配,block结束,共享内存被回收。所以同样,如果每个线程占用的共享内存过多,会导致组织的线程数量过少,效率大大降低。常量内

2021-11-12 11:51:03 860 1

原创 CUDA中网格,线程块,线程的组织关系和线程索引的计算公式

明确对应关系线程索引计算参数错综复杂,对参数有一个明确的理解之后会达到事半功倍的效果如图所示,gridDim为(4,3,2)那说明其组织形式是4x3x2的一个长方体,包含了4x3x2=24个block,每个block有自己的坐标,也就是block.x, block.y, block.z同理,在每个block内也有自己的组织形式,这里blockDim为(4,3,2)同样说明了其组织形式是4x3x2的一个长方体,包含了4x3x2=24个thread,也就是thread.x, thread.y, thre

2021-11-04 17:13:18 632

原创 LeetCode 80 删除有序数组中的重复项 II

题目描述给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 最多出现两次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1输入:nums = [1,1,1,2,2,3]输出:5, nums = [1,1,2,2,3]解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。 不需要考虑数组中超出新长度后面的元素。示例2输入:nu

2021-04-06 07:03:00 88

原创 LeetCode 781 森林中的兔子

题目描述森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在answers数组里。返回森林中兔子的最少数量。示例输入: answers = [1, 1, 2]输出: 5解释:两只回答了 "1" 的兔子可能有相同的颜色,设为红色。之后回答了 "2" 的兔子不会是红色,否则他们的回答会相互矛盾。设回答了 "2" 的兔子为蓝色。此外,森林中还应有另外 2 只蓝色兔子的回答没有包含在数组中。因此森林中兔子的最少数量是 ..

2021-04-04 12:25:16 150

原创 LeetCode 22 括号生成

题目描述数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例2输入:n = 1输出:["()"]解题思路1. 使用dfs深度优先搜索,使得括号合法的条件是:任意时刻左括号的数量要大于等于右括号的数量2. 代码示例(自己写的):class Solution {public: vector&l...

2021-02-27 16:31:05 73

原创 [剑指offer]面试题04. 二维数组中的查找

[剑指offer]面试题04. 二维数组中的查找题目描述在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。输入样例[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, ...

2020-02-27 08:26:05 152

原创 [LeetCode 123]买卖股票的最佳时机III(hard)

[LeetCode 123]买卖股票的最佳时机III(hard)题目描述给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入样例1[3,3,5,0,0,3,1,4]输出样例16(在第 4 天(股票价...

2020-02-25 08:53:34 170

原创 [LeetCode 122]买卖股票的最佳时机II(easy)

[LeetCode 122]买卖股票的最佳时机(easy)题目描述给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。输入样例1[7,1,5,3,6,4]输出样例17(在第 2 天(股票价格...

2020-02-24 19:50:59 120

原创 [LeetCode 121]买卖股票的最佳时机(easy)

[LeetCode 120]买卖股票的最佳时机(easy)题目描述给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。输入样例1[7,1,5,3,6,4]输出样例15(在第 2 天(股票价格 = 1)的时候买入,在第 5...

2020-02-24 16:54:45 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除