自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 收藏
  • 关注

原创 739. 每日温度

1.记录下单调栈的做法,第一次见。

2024-04-15 19:27:09 188

原创 684. 冗余连接

【代码】684. 冗余连接。

2024-04-14 14:56:34 213

原创 692. 前K个高频单词

这和我排序的预期刚好相反,感觉应该是peiorityqueue内部的问题,因为虽然顺序是反的,但我想用堆来解决,而这个顺序方便我后续的堆操作。可能是内部自己优化了吧,我预期结果应该是 i love coding leetcode。本题熟悉下priority_queue,感觉有点怪,自定义排序和greater<>,less<>不太一样。1.本题注意下priority_queue的自定义写法。

2024-04-10 21:20:41 324

原创 1545. 找出第 N 个二进制字符串中的第 K 位

应该采用dfs,完全没想到。能过,但是效果不好。

2024-04-07 18:15:03 219

原创 951. 翻转等价二叉树

判断两棵树是否为反转关系。

2024-04-02 20:14:23 282

原创 2810. 故障键盘

采用deque,新鲜做法。

2024-04-01 14:11:59 153

原创 331. 验证二叉树的前序序列化

方法二:如果在数字后面是连续两个 ‘#’,那么就将这三个元素替换成一个 ‘#’,这个过程一直持续到数组遍历结束。最后,判断数组长度是否为 1,且数组唯一的元素是否为 ‘#’ 即可。1.遍历一遍字符串,#的次数=数字的次数+1。2.在遍历过程中,#的次数一定<=数字次数。满足以下两点才是有效的。

2024-03-31 20:50:48 127

原创 2536. 子矩阵元素加 1

思路参考:https://leetcode.cn/problems/increment-submatrices-by-one/solutions/2684930/er-wei-chai-fen-qiu-qian-zhui-he-shi-hen-i8g5/本题暴力可以做,猜到用差分,但是不熟,不知道二维差分怎么用,碰到用差分的题目太少了。多耗费10mb的空间,速度提高了10倍。

2024-03-30 20:29:02 405

原创 2952. 需要添加的硬币的最小数量

贪心思想,不好做,原理是如果你能得到[0,x)的所有数,那+x,你能得到[0,x)与[x,2x)中的所有数,也就是[0,2x)的所有数。现在给你个target,你排序之后直接贪心模拟,缺一个数加一个数,当目前覆盖的范围比target大,答案就出来了。

2024-03-30 19:34:26 132

原创 【无标题】

用PTA经典万能笨方法,dfs建图,bfs算深度。我看到貌似有直接dfs出的,但是感觉不太容易而且太针对化了,别的题目基本用不着,不打算用。

2024-03-29 22:17:46 209

原创 2434. 使用机器人打印字典序最小的字符串

遍历s,push当前字符,如果当前的栈顶元素<=余下字符串中发最小字符,则pop并加到结果中。否则一直push到栈中。2.if条件中的&&部分左右顺序不能颠倒。颠倒报错,之前一直没重视。1.初始化数组,全部为0的简单写法。

2024-03-29 21:06:27 218

原创 2788. 按分隔符拆分字符串

记录下,按分隔符划分字符串,最后有一部分划分不了怎么办,比如 a.b.cc 按.划分,那么输出可能只有a,b,最后cc出不来。可以在循环之后额外加个判断,但是不优雅。方法是在字符串最后加上分隔符。

2024-03-27 22:06:46 218

原创 2712. 使所有字符相等的最小成本

采用贪心思想,从左到右逐渐把字符串变整齐,基于这个思想,那么对于字符串的中的比如 …

2024-03-27 21:41:09 187

原创 2580. 统计将重叠区间合并成组的方案数

自定义排序秒了,这题可以使用快速幂进一步加速,但是感觉没必要卷。

2024-03-27 20:57:08 212

原创 130. 被围绕的区域

我的想法是如果在边缘上找到O点则把与之相连的O点全部变成A(随便一个不同的符号),遍历完之后,就有X,O,A三种符号,后面再变一次。我认为我这个是bfs做法,但是看官方题解,我这个应该是dfs,想想也确实。

2024-03-26 14:55:35 167

原创 165.比较版本号

如果使用c++来写的话,应该是老老实实的双指针遍历字符串,并且不能使用int存储,虽然题目中保证32位,但是会溢出,经典。本题首先想到的是split方法,但是c++里面没有提供,所以转java写了。注意下对于长度不同的字符串判断方法,这样写比较优雅。

2024-03-26 10:15:21 212

原创 518. 零钱兑换 II

一开始用回溯做,发现即使剪枝也会超时。

2024-03-25 19:20:42 154

原创 2457. 美丽整数的最小增量

关键在写法上,我是转为字符串去计算每次增加多少,比较麻烦。这种做法还是比较好,记录下。本题我之前也是和题解一样的想法,增加数还让它和变小只有进位操作可以。

2024-03-24 20:14:10 174

原创 L2785(Java). 将字符串中的元音字母排序

1.如何以char类型便利字符串。2.自定义优先队列解决。

2024-03-05 21:56:59 360 1

原创 L2558(Java). 从数量最多的堆取走礼物

2. 使用题目中Pow((x-1),0.5)进行模拟的话需要考虑数据边界,但是使用Pow(x,0.5)就不用考虑。1.java PriorityQueue的初次使用,offer,poll,peek。

2024-03-05 21:13:38 336

原创 L958. 二叉树的完全性检验 java

【代码】L958. 二叉树的完全性检验 java。

2023-10-06 22:00:35 410

原创 L933. 最近的请求次数 java deque

【代码】L933. 最近的请求次数 java deque。

2023-10-06 21:30:57 66

原创 L113 Java回溯

【代码】L113 Java回溯。

2023-10-04 18:48:01 67

原创 L647.java 回文子串,中心拓展

中心是1或2个字符,如果3个则代表中心是1个字符。时间复杂度问O(n^2)

2023-09-29 16:41:33 64

原创 L508,java,dfs

【代码】L508,java,dfs。

2023-09-29 16:26:39 21

原创 L1926. bfs

令d数组初始为-1,再把入口变0,这样-1即代表没有访问过,非-1即代表距离,一个数组记录两种数值。

2023-09-23 19:24:31 136

原创 L2859-Java 整数变二进制

java快速统计二进制中1的个数。java整数变二进制。

2023-09-20 16:18:36 101

原创 L2807

【代码】L2807。

2023-09-20 15:59:09 38

原创 高效提取字符串中数字,以空格分割

【代码】高效提取字符串中数字,以空格分割。

2023-03-16 16:35:08 134 1

原创 二分LCP 18. 早餐组合

【代码】二分LCP 18. 早餐组合。

2023-03-16 16:07:31 48

原创 c++建立全0,vector不定长

c++建立全0,vector不定长。

2023-03-15 10:07:54 445

原创 【无标题】

3月pat 70分 ,满分7 8 个吧,最后一题确实离谱。秋季再来。记录下,怕遗忘进度:树 三种递归(中+后 中+前 前+中)BST AVL 红黑最大小堆建树(找区间最值);中后序表达图 dij flyod dfs bfssscanffindpriority_queue然后 自己博客里面的题解。希望秋季pat能ac(主要是40分钟左右就70分了,剩下两个小时全在最后一题,前面题都是一编过,不甘心)最后一题还剩10分钟的时候有思路了,应该是从下到上bfs做,这个找最小路径不难,但是

2022-03-05 17:02:45 119

原创 1105 Spiral Matrix (25 分)

记录下螺旋逻辑#include<bits/stdc++.h>using namespace std;int n;int a=0,b=0;vector<int> v;bool cmp(int a,int b){ return a>b;}void ma(int m){ for(int i=m;i>=1;i--){ if(m%i==0){ if(i>=m/i){ a=i; b=m/i; } else retu

2022-03-01 20:11:27 62

原创 1160 Forever (20 分)

正解应该是dfs剪纸。但是,第一题这样做说实话接受不了。这题可以通过暴力来做,不过有技巧。思路:在给定的K位数中找到符合的存入数组,排序后输出。怎么找?若k=10,100000000~9999999999…找未免不现实。压缩一下。10位数里面,各位数和==m一定有个最大值和最小值,不在这个范围之内的数不用考虑。int ismin(int a,int b){ //找最小值 int ans=0,cnt=0; while(b>9){ ans=ans*10+9; cnt++; b-

2022-03-01 17:25:50 193

原创 PTA 1130 Infix Expression (25 分) 1162 Postfix Expression (25 分)

这两个题,一开始用一样的做法做,发现不行,最后发现是自己误解了,总结一下。这种表达就两个规则。左右子树均在: 括号+dfs(左)+当前值+dfs(右)+括号(中序就这样,后序当前值就放两dfs后边,这个是一致的);只有一棵子树: 括号+当前值+dfs(那颗子树)+括号(这里不论什么序,都这样,这点误解了);空的子树不用遍历,这样写方便记忆,空的也能遍历原因看下面代码。PTA 1130 Infix Expression (25 分)针对 中序表达首先根据***普遍规则***,一个式子就能表示

2022-03-01 17:17:06 164

原创 1159 Structure of a Binary Tree (30 分)

抽象学会:1.sscanf;2.str.find();3.给两个序列怎么建树(我只会一个序列建树(BST));PAT题目就全部链表建树吧,要的东西用map vector存。0.mainint main(){ cin>>n; for(int i=0;i<n;i++){ int x; cin>>x; post.push_back(x); } for(int i=0;i<n;i++){ int x; cin>>x; i

2022-02-28 17:18:00 395

原创 1040 Longest Symmetric String (25 分)

中心扩散#include<bits/stdc++.h>using namespace std;string ans;int ma=1;int main(){ getline(cin,ans); for(int i=0;i<ans.size();i++){ int l=i-1; int r=i+1; while(l>=0 &&ans[i]==ans[l]) //先找中心点,因为中心点不是i,比如 1223.中心点是22 l--; wh

2022-02-28 11:47:13 61

原创 有关数组截取的技巧。

一个长n的数组,每三个数排序,怎么写?或者每time个数排序,相加。。。。。。。 for(int i=0;i<n/time;i++){ sort(sou+i*time,sou+(i+1)*time); } sort(sou+(n/time)*time,sou+n);

2022-02-28 11:37:39 131

原创 1155 Heap Paths (30 分)

这个竖着的递归还是有点犯难。#include<bits/stdc++.h>using namespace std;int n;int minn=1,maxx=1;vector<int> v;vector<int> path;void dfs(int inde){ if(2*inde>n &&2*inde+1>n){ if(inde<=n){ for(int i=0;i<path.size();i++){

2022-02-27 12:52:22 51

原创 1152 Google Recruitment (20 分)

以后素数判断就i*i<=num 吧,i<num最后个点会超时。可能是溢出的原因。#include<bits/stdc++.h>using namespace std;string n;int k,m;int isp(string ans){ int num=stoi(ans); if(num<2) return 0; for(int i=2;i*i<num;i++){ //i<num 过不了 if(num%i==0) return 0; }

2022-02-27 11:31:21 53

空空如也

空空如也

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

TA关注的人

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