- 博客(2079)
- 收藏
- 关注
原创 生活规范以及指导家规
https://github.com/ZouJiu1/family-ruleshttps://zoujiu.com.cn/homepage#/csdn/markdown_detail/homepage?plan=/home/admin/vue-project/people/homepage/csdn_spider_selenium/article/2025-05-19_空格_19_00_06_生活规范以及指导—future家规/2025-05-21_21_01_45_markdown.md
2025-05-21 21:23:15
369
原创 leetcode 1642. 可以到达的最远建筑-Furthest Building You Can Reach
Problem:优先队列堆,最大堆,最大值在堆顶,每次拿到差值height[i-1]-height[i],若差值divid < 0,则放入堆中,堆中保留差值最小的数字(负数的绝对值越大,该负数越小)(最小的几个负数用梯子),(最大的那些负数用砖块)若堆的尺寸 > ladders,表示需要pop掉更大的负数(绝对值小),此时用砖块填充 bricks += pq.top(),若剩下的砖块 <0,则不可以继续了,直接返回i-1最后返回n-1。
2026-04-10 13:32:46
7
原创 leetcode 困难题 1639. 通过给定词典构造目标字符串的方案数
Problem:动态规划的呢,若words中每个单词的长度是m,则对0-m之间的索引,求出每个索引j内,words[0][j], words[1][j]等的单词频次,也就是arr数组dp[i][j]表示截止arr数组的i索引,构成target[0-j]的方案数量初始化:dp[i][0] = 1,不论m等于多少,构成空字符串target=""的方案都只有1个递推公式的:对dp[i][j],ch = target[j-1] - ‘a’;若arr[i][ch] > 0。
2026-04-10 12:43:03
216
原创 leetcode 1641. 统计字典序元音字符串的数目-耗时100
Problem:耗时100%,动态规划的呢,dp[i][0]表示最后一个字符是a且长度是i的数量,dp[i][1]表示最后一个字符是e且长度是i的数量,dp[i][2]表示最后一个字符是i且长度是i的数量,dp[i][3]表示最后一个字符是o且长度是i的数量,dp[i][4]表示最后一个字符是u且长度是i的数量所以根据字典序的要求,dp[i][0] = dp[i-1][0],也就是a的前面只能是a,e的前面可以是a, ei的前面可以是a, e, io的前面可以是a, e, i, o。
2026-04-09 17:08:59
19
原创 leetcode 1640. 能否连接形成数组-耗时100内存100
Problem:耗时100%,内存100%,双指针,首先拿到每个数字在pieces中的第一个索引,然后对数组arr,拿到pieces中的起始索引ind,然后比较是否相同,若不同则返回false最后的话返回true。
2026-04-09 13:43:44
8
原创 leetcode 1638. 统计只差一个字符的子串数目
Problem:固定子字符串长度i从1到n,拿到s和t长度是i的所有子字符串,保存在数组trg1, trg2中然后遍历这两个数组,看不相同的字符数目是否刚好等于1,若不同的数量>=2break。
2026-04-08 16:39:12
7
原创 leetcode 1636. 按照频率将数组升序排序-耗时100-Sort Array by Increasing Frequency
Problem:耗时100%,哈希表统计频次,然后频次和数字放入数组,按照题意的规则排序,最后得到最终的数组。
2026-04-08 16:03:53
7
原创 leetcode 1631. 最小体力消耗路径
Problem:Dijkstra算法,矩阵变成1d向量,然后初始化状态数组,初始化距离数组,然后使用优先队列,存入距离和当前索引zx * n + zy;所以可以根据题意,上下左右分别connect使用Dijkstra算法求出当前路径差值最大值,以及所有路径最大值的最小值。
2026-04-08 15:24:07
4
原创 leetcode 1630. 等差子数组-Arithmetic Subarrays
Problem:单独拷贝子数组到一个新的数组内,然后排序的,若满足前后的差值相同,则是等差数列,否则不是的。
2026-04-08 13:57:21
4
原创 leetcode 困难题 1627. 带阈值的图连通性
Problem:并查集,只有两个数字的最大公因子 > threshold时,才满足要求可以connect,所以直接考虑 > threshold的数字j,以及j的倍数i * j,所以这两个数字( j, i * j )的最大公因子一定是j,此时一定满足条件,只需要用并查集connect起来就可以。
2026-04-08 13:51:42
6
原创 leetcode 1629. 按键持续时间最长的键-耗时100-Slowest Key
Problem:耗时100%,按照题意得到最长的时间,和字典序最大的字符。
2026-04-08 10:05:07
9
原创 leetcode 1626. 无矛盾的最佳球队-Best Team With No Conflicts
Problem:深度优先搜索,记忆化,拿到最大值就可以了。
2026-04-07 16:31:15
205
原创 leetcode 1624. 两个相同字符之间的最长子字符串-耗时100
Problem:耗时100%,双指针,找到相同的以后直接break以及拿到最大值。
2026-04-07 15:29:09
13
原创 leetcode 1620. 网络信号最好的坐标
Problem:整数坐标点,而且点数比较少,所以直接遍历每一个点,计算出答案,求出最大值,已经对应的坐标。
2026-04-06 20:56:59
14
原创 leetcode 1619. 删除某些元素后的数组均值-耗时100
Problem:耗时100%,排序,然后求出需要删除的个数k = n/20,最后累加中间的数值【k, n-k】,求出平均值:sum / (double)(n - k - k);
2026-04-06 20:56:25
14
原创 leetcode 困难题 1617. 统计子树中城市之间最大距离
Problem:n比较小,可以找出边数组edges的所有排列组合,使用回溯dfs函数,排列组合放在数组tr中然后对任何一种组合,求出邻接表,任意从一个顶点开始访问,统计访问的顶点数量cnt,用bit表示用到的所有顶点mask,最后若cnt == nbit.count()也就是不存在多棵树,只有一棵树,将统计结果累加,mxxx就是树中路径的最大的长度。
2026-04-06 20:08:52
11
原创 leetcode 1615. 最大网络秩-耗时100-Maximal Network Rank
Problem:统计道路相连的城市出现的频次,也就是城市散发出去的道路数量,用矩阵标记两个城市是否相连的然后两两遍历的,若两者相连,还需要减去1,拿到最大值。
2026-04-06 18:50:59
31
原创 leetcode 1616. 分割两个字符串得到回文串-耗时100-Split Two Strings to Make Palindrome
Problem:耗时100%,首先检查a是否是回文串,检查b是否是回文串,若某一个是返回true若满足题意的,第一个和最后一个一定相同,然后继续检查其他的字符 a[l]==b[n-l-1],若l==n表示拼在一起可以形成回文串,或者 n-l-1-l<=0也满足条件已经过了一半了最后检查b剩下的一半是否满足条件,a剩下的一半是否满足条件。
2026-04-06 18:34:10
20
原创 leetcode 1614. 括号的最大嵌套深度-耗时100
Problem:耗时100%,栈只存放左括号,右括号pop且不放入,栈的最大深度就是答案。
2026-04-06 17:58:28
8
原创 leetcode 困难题 1611. 使整数变为 0 的最少操作次数
Problem:通过深度优先搜索函数dfs产出的ret数组,可以观察ret数组,可以发现,要去掉最左侧的1,需要pow(2, len -i)次操作,而且从左到右不同索引的1,索引从1开始,奇数累加,偶数相减得到最终的答案深度优先搜索超时了的。
2026-04-05 16:14:13
11
原创 leetcode 困难题 1610. 可见点的最大数目-Maximum Number of Visible Points
Problem:根据余弦定理,求出所有点到x轴正方向的夹角,全部换算成角度,不使用弧度的,而且逆时针从0度到360度,根据象限求出0~360度,没有负数的排序,然后使用二分查找的,upper_bound,ALLangle[i] + angle+1e-5,而且上界可能>360,此时需要返回从索引0开始查找,if(ALLangle[i] + angle+1e-5 >= ALLangle[j] + 360.0) ind++;拿到最大值。
2026-04-05 13:39:02
14
原创 leetcode 1609. 奇偶树-Even Odd Tree
Problem:广度优先搜索,拿到每一层的数值,从左到右放入队列,若奇偶不满足false,若前后大小相同或者不满足false。
2026-04-05 12:22:16
13
原创 leetcode 1608. 特殊数组的特征值-耗时100
Problem:耗时100%,有序哈希表统计数字的频次,然后依次放入数组中,计算频次的后缀和若满足后缀和 <= tr[i].first,且当前i==0或者tr[i-1].first < prefix[i],则返回。
2026-04-05 11:58:43
13
原创 leetcode 困难题 1606. 找到处理最多请求的服务器
Problem:优先队列最小堆,有序集合的最小堆存储{结束时间, 当前服务器索引},若当前时间 >= 最小结束时间,则pop且将索引放入可用集合te然后集合te查找 可用的服务器的,若没找到,拿到第一个,pq.push({arrival[i] + load[i], ind});集合中删除该索引te.erase(ind);服务器的使用频次统计:cnt[ind]++
2026-04-05 11:43:28
10
原创 leetcode 1605. 给定行和列的和求可行矩阵
Problem:通过观察可以发现,两个数组的最小值是重要的,所以拿到最小值所在的索引,最小值,以及在行和还是在列和中若在行和中 type == 0,则求出列和的最小值和索引,然后另最小值==INT_MAX,列和最小值减去mi同理修改列和的值。
2026-04-05 10:28:07
10
原创 leetcode 1604. 警告一小时内使用相同员工卡大于等于三次的人
Problem:将字符串的时间格式,转换成分钟代表的数字,也就是 hour*60 + minute,然后配对起来,最后排序的,若名字相同则按照时间从小到大排序,否则按照名字排序最后相邻三个的时间满足要求就行,用集合去重的。
2026-04-05 09:44:23
12
原创 leetcode 1603. 设计停车系统-耗时100-Design Parking System
Problem:耗时100%,数组存放初始值,addCar函数使用–操作符:return car[carType]-- > 0;
2026-04-05 09:28:16
20
原创 leetcode 困难题 1601. 最多可达成的换楼请求数目
Problem:不申请调换的,直接累加得到ret,然后得到邻接表数组tr,存储了边的索引i和终点c {c, i}拿到可能存在环的起点集合te和数组arr,起点和终点相同第一个回溯,dfs函数,从环的起点开始,求出所有可能的环,存放在数组circle内,然后删除重复的环circleCOPY第二次回溯,recursion函数,选取可能的环,若环之间不存在并集,则合并这两个环,最后求出最大值ans。
2026-04-04 14:35:11
14
原创 leetcode 1600. 王位继承顺序-内存100-Throne Inheritance
Problem:内存100%,通过观察可以发现,拿到所有父母对应的孩子,孩子越靠前年纪越大,只需要深度优先搜索即可,深度优先搜索得到的顺序就是最终的结果。
2026-04-04 13:09:36
39
原创 leetcode 1599. 经营摩天轮的最大利润-耗时100内存90
Problem:耗时100%,内存90%,每次登上一个房间,都需要成本旋转一圈所以当i<n时,人数add不停累加,当前可以登上房间的人数 now = min(4, add),剩下的人数 add -= now,收入sum += now * boardingCost;,利润profit = sum - j * runningCost;拿到最大值和对应的索引。
2026-04-04 12:35:16
30
原创 leetcode 1598. 文件夹操作日志搜集器-耗时100-Crawler Log Folder
Problem:耗时100%,栈,若不是./或者…/则push,若是…/则pop。
2026-04-04 11:45:50
25
原创 leetcode 困难题 1595. 连通两组点的最小成本
Problem:回溯,特殊情况是m1的情况累加即可对每一行排序,拿到排序以后的索引,用这些索引来回溯,每一行从小到大开始遍历,最后row==n累加缺失列中该列的最小值剪枝sum >= ret返回。
2026-04-04 11:09:00
8
原创 leetcode 1594. 矩阵的最大非负积-耗时100-Maximum Non Negative Product in a Matrix
Problem:耗时100%,三种方案的,1、直接回溯的,超时了;2、记忆化回溯深度优先搜索, 通过了;3、动态规划的呢记忆化回溯,哈希表记录了当前单元格到右下角的最大值和最小值,最后返回最大值即可,只求正数最大值,所以最小值也需要考虑,因负数的最小值乘上一个负数可能变成最大值动态规划的,dp[i][j]表示从(0, 0)到(i-1, j-1)的最大最小乘积,和记忆化回溯类似,考虑到负数,所以需要记录最小值,防止变成最大值,初始条件就是首行首列递推公式就是 上侧,左侧和当前乘积的最大最小值。
2026-04-04 11:07:13
27
原创 leetcode 1593. 拆分字符串使唯一子字符串的数目最大
Problem:滚动哈希的,数基=31,取模1e9+111,将字符串看作一个31进制的数字,a表示1,b表示2,然后用回溯的,计算当前子字符串代表的数字,放入集合中,若不在集合内,则可以划分开,若在则需要继续加入子字符串,最后拿到最大的集合长度。
2026-04-04 11:07:07
10
原创 leetcode 1592. 重新排列单词间的空格-耗时100-Rearrange Spaces Between Words
Problem:耗时100%,拿出所有单词,统计空格个数,特殊情况空格数==0直接返回,特殊情况只有一个单词,将空格放到这个单词最后,直接返回否则求出平均值,然后拼接字符串,最后将剩下的空格拼接在最后。
2026-04-03 20:16:14
7
原创 leetcode 困难题 1591. 奇怪的打印机 II-Strange Printer II
Problem:通过观察可以发现,像Example 2,3的最大外接矩形内包括了3和4,所以先3后4,也就是 3->4同样的,若1的外接矩形内包括了2, 3,4,则先1后2、3、4,若6的最大外接矩形内包括了10,则先6后10,6->10首先将入度等于0的数字print出来,然后入度–所以就是拓扑排序的,需要求出数字的所有最大外接矩形内的数字,然后构造邻接表,构造入度表首先求出一个数字的最大外接矩形的左右上下边界数组 arr。
2026-04-03 19:55:04
13
原创 leetcode 1590. 使数组和能被 P 整除-Make Sum Divisible by P
Problem:耗时100%,求出前缀和,若总和sum < p返回-1,若sum % p==0返回0否则,考察长度从小到大0 - n-1的子数组累加和,若满足条件直接返回最后返回-1,是最下面的方案(sum - k) % Q == 0,则sum和k关于Q的余数是相同的所以对累加和求出余数re=sum%p,只要看前面的累加和是否存在余数是(re - rem + p) % p的结果就行,target = (re - rem + p) % p;拿到最短的距离的。
2026-04-03 18:29:59
12
原创 leetcode 1588. 所有奇数长度子数组的和-耗时100-Sum of All Odd Length Subarrays
Problem:耗时100%,算出前缀和,然后对长度是奇数的子数组,累加求和的。
2026-04-03 15:27:37
6
考研数学的考点,自己写的考研数学的各科考点,可以加入自己的笔记
2024-01-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅