自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣2861 补9.21

先要确定这个值的取值范围,最小值为0不用说,最大值的话,假设,创建合金需要1 份 j 类型金属。看了灵神题解,嗯,就好家伙,所有合金都需要由同一台机器制造。题目老是看漏,也就是只能选择其中一个机器造合金,这题能用二分也是我死都想不到的,因为问题中存在单调性。这题基本上二分的参数都要用long,要不然就有用例不过,一开始我是全用int的,对数据观察这方面没啥概念。有单调性问题,二分,当然我自己好久没写二分都忘了基本操作了,勉勉强强凑出来二分代码实现。然后代码实现,一下就是我写的垃圾二分(自己写的,不标准)。

2023-09-25 22:35:07 207

原创 力扣2860 补9.20

第二道周赛题,理解题意要花个半天。然后就是代码,我写的二重循环但有用例超时,大部分700多个用例还有几十没过。i++){//被选中有多少人。不过排序我是没想到的,排序之后看灵神的题解去模拟一下确实很奇妙的可以用一重循环解决。以下是我的双层循环,思路还是清晰的,但慢了。2860.让所有学生保持开心的分组方法数。// 学生之间进行组合。

2023-09-22 21:28:51 231

原创 力扣2859 补9.19

开始试试周赛题目,好家伙,第一个简单题就让我搞了2个小时左右才做出来,主要是我看题目还是不仔细,题目理解就有点烦,然后就是Java的各种基础语法都忘了,我用的常规暴力解法,思路还算好想,但毕竟代码实现对我来说还是挺麻烦的。这里getmax函数就是获得pow(2,n)的最大值,且小于num,返回这个最大值,然后二进制就有了一个1,在让num减去最大值直到num为0。num++){//遍历。然后代码有点bug死在了死循环里面,搞了半天。200题,想先试试周赛。

2023-09-21 22:59:32 215

原创 力扣538 补9.18

当前结点如果是左节点的话,root.val=root.val+pre.val+dfs(root.right);都和前一个结点有关系,如果找不到那个万能公式的话,就分类讨论多分几种情况。可以做,主要还是分类讨论并找规律。538.把二叉搜索树转换为累加树。

2023-09-21 17:02:06 368

原创 力扣108 补9.17

这题代码实现不难,主要是在数组里用二分的思路没想到。对数组进行范围划分后取中间的值就是当前范围的根结点。左右子树的高度就达到要求了。做不来,而且题目一开始理解错了,要的是每个节点的左右子树高度差不超过1,我以为只要这个树总体左右2边高度差不超过1。又是一晚上都用来刷力扣了,恨呐。我咋那么废物,这个简单题还不会做。现在简单题就是一点就通,有点弯就想不出来了,且代码实现不难。108.将有序数组转换为二叉搜索树。

2023-09-19 22:41:52 215

原创 力扣669 补9.16

最近大三上四天有早八,真的是受不了了啊,欧嗨呦,早上困如狗,然后,下午困如狗,然后晚上困如狗,尤其我最近在晚上7点到10点这个时间段看力扣,看得我昏昏欲睡,不自觉就睡了1个小时,可能在犯困的时间段不适合做高难度的题目。还有英语也要抓紧搞,好久没搞英语了,力扣每天一题就搞得我没时间搞别的了,基本就是下午在看力扣,然后睡了犯困睡了1小时去吃饭,然后晚上差不多,再想一会,犯困再睡1个小时,睡醒想不出来就看答案。再这样我就没法坚持刷下去了,太低效了,想想自己一天干了啥。

2023-09-18 22:34:05 173

原创 力扣450 补9.15

可以做,就是去分类讨论,一开始以为有重复节点,感觉挺麻烦的,不过没有重复结点,感觉好做一点了,这个中等题大概做了有2个小时,水平大概就这样了,也是慢慢磨把思路磨出来的。搞得一直报错,还是指针用的不熟练。450.删除二叉搜索树中的节点。

2023-09-17 21:25:06 162

原创 力扣236 补9.14

做不来,我做中等题基本上都是没有思路,这里需要先遍历祖先节点,那必然用先序遍历,这题还是官方题解容易理解,第二火的题解反而把我弄得脑袋昏昏的。

2023-09-16 22:39:15 208

原创 力扣501 补9.13

可以做,还是好想的,有点程序上的细节,哈希表通过遍历实现值找到键,另外就是数组的截取。不过我做的明显很麻烦,因为花了791ms,卡尔的C++代码也就30ms,离谱哦。501.二叉搜索树中的众数。

2023-09-15 16:43:03 149

原创 力扣530 补9.12

再或者一个个遍历每个结点,把他跟父结点和爷结点比大小,更新最小值,因为要么左边要么右边跟中间节点比大小,不会让左边跟右边比大小。可以做,就是中序遍历,把数从小到大排序,再循环找最小值。530.二叉搜索树的最小绝对差。

2023-09-15 10:32:15 117

原创 力扣106 补9.11

先根据后序遍历找到根结点,在根据根结点的数组下标,把中序遍历序列分成2部分,就这样递归不断地分,直到左子树,右子树的数组边界范围出现左边界大于右边界。TreeNode build(int il,int ir,int pl,int pr,int[] postorder){//找到当前的根节点。其实看代码还是很不好理解的,得自己动动脑筋去模拟才行,光看代码就是脑子想动也动不起来,主要我还是经常对着代码半发呆半想,直到想睡觉,效率很低。//参数是左子树的左子树的左右数组范围,右子树的左右数组范围。

2023-09-14 23:18:54 150

原创 力扣513 补9.10

这题看起来用层序遍历就很不错,不过需要用到队列,循环,但我还是看答案了,不熟练。513. 找树左下角的值。

2023-09-13 23:11:07 26

原创 力扣404 补9.9

感觉可以记住出一个结论就是左递归遍历的都是左结点,同样右递归遍历的都是右结点。

2023-09-13 21:22:56 26

原创 力扣257 补9.8

虽然简单题,但太久没写题了,直接看答案,事实上就是正常的按照前序遍历每个结点,找到一个节点就放进path里,一直等到找到叶子结点,一个path结束,然后就是回溯,把最后一个结点删了,进入另一个递归。然后代码实现的话,用Java麻烦一点,因为string不允许修改。相当于就是基本的一次树的遍历,在加上回溯(删除并修改结点)。257.二叉树的所有路径。

2023-09-13 20:33:16 140

原创 力扣110 补9.7

int dfs(TreeNode root){//计算每个节点的子树高度差。int dfs_tall(TreeNode root){//计算该树高度。用了2个函数,思路好想的。

2023-09-08 21:55:57 263

原创 力扣111 9.6

练个手,我写的有点复杂,if语句要考虑到不同情况。不算难嗷,正常递归。好像是Java语法要求必须要有个return。111.二叉树的最小深度。

2023-09-06 15:12:29 393

原创 力扣452 9.5

你要射气球,要是我的话,把重叠在一起气球数最多的那一部分气球一箭全解决掉就行了,我也不知道其中的原理,感觉就应该这样。重叠的气球一起寄掉的条件是最小右边界和最大左边界有重合或者接触。从左往右按顺序射,令每次射箭都射尽量多的气球。有个很重要的也很难理解的一点是为什么要从左到右或者从右到左按顺序射。力扣补不了了,我欠下的太多了,毕竟我落下了一年的进度,这一年来,前半年倒是有心思刷题,后半年因为不可控因素,刷了个寂寞。这题之前一直想不通,不过现在过了小半年,在看这个题,发现思路应该是稍微动脑筋就有的了。

2023-09-05 21:41:06 43

原创 力扣(763.56)补9.27

这题基本思路倒是容易有,但是细节问题还是有tm的一大堆。还好力扣会提供未过的用例,要不然真的不知道哪里会错。这题难度正常,能做出来,我也没优化时间复杂度,问就是不太会,hhhhh只做了200题的小chicken。怎么说呢,说是贪心,我依然感受不到。我是把他当滑动窗口做的。763.划分字母区间。

2023-04-05 11:58:26 294 1

原创 力扣(134.860.406.452)补9.26

不过我现在也发现了,贪心不是一个意义非常明确的算法,感觉就是没有一个固定的套路,更多的是数学上的思考吧。没想出来,这题一开始没想清楚怎么做,怎么也想不到贪心算法上,其实贪心,就是数学思维题,想通了就简单,想不通就一直卡着。其实就是记录自己手里的5元,10元,钞票的个数。ps:n,m分别是插入字符串要截取的(真正要插入的部分)即在str2.n位置数m个,不写这个的话就是将str2整个全部插入。这题我用2层循环可以通过35/39个用例,但是卡在一个死变态的,数据贼多,超过时间限制了。406.根据身高重建队列。

2023-04-02 16:40:22 310

原创 6轴陀螺仪姿态解算

很重要的一点是,我一开始陀螺仪水平放,用学长的代码完全问题不大,然后我陀螺仪竖直放,结果原来代码用不了了,因为会出现角度跳变问题,然后我捣鼓了半天代码改不了,甚至去找了asin,atan2函数的用法,都没用,最后我还是放弃了,把陀螺仪位置改了。我之前找滤波算法,花了几天时间,真浪费时间,其实这个原始数据不做滤波应该也是可以的,pid调好就行了,不过因为我的强迫症,非想找个滤波,那毛刺信号看的真的烦人,结果卡尔曼滤波又看不懂,只能用滑动窗口了。一阶低通效果就足够了,当然也可以设计IIR、FIR之类的。

2023-04-01 15:22:22 2637

原创 力扣(45.1005)补9.25

直接看题解吧,累了,别人讲的不错我就不讲了。这个覆盖范围有点双指针的样子了。right用于当前步的最大范围,len用于表示的全局最大覆盖范围。不过这题因为细节问题,也想了挺久的。比起别人的一层循环,这里我的时间复杂度有点高了。这题我是每次都取最优,k次,每次都让总和最大。想不出来,贪心真的很神奇(指我还是没理解),1005. K 次取反后最大化的数组和。

2023-03-25 20:10:20 304

原创 力扣(47.55)补9.24

脑子确实没绕过来,仔细想想还真的有些难度,要想得到最大覆盖范围是需要遍历最大范围的每个元素,然后更新最大范围的。i每次移动只能在cover的范围内移动,每移动一个元素,cover得到该元素数值(新的覆盖范围)的补充,让i继续移动下去。已经三个月没刷力扣了,主要是搞Java后端,还有智能车,确实我自己也惭愧,什么都想搞,还没有搞成的,不专一啊。刚看到本题一开始可能想:当前位置元素如果是3,我究竟是跳一步呢,还是两步呢,还是三步呢,究竟跳几步才是最优呢?这个范围内,别管是怎么跳的,反正一定可以跳过来。

2023-03-24 22:44:58 376

原创 idea踩坑

就是,如果idea报错,一定要第一时间去刷新maven,太坑了,我说网上的办法怎么都没有用呢,尤其是更改pom依赖,配置文件的时候。说一个很重要的点吧,虽然很小,但要铭记。

2023-03-24 10:36:25 35

原创 keil5编译报错问题

很长时间没用keil5了,今天再看,导入的新项目又遇到了编译报错问题o,这次我比较幸运了,换了一下编译器,用version 6版本的,再重新编译一下就好了。

2023-03-18 15:02:07 346

原创 Ubuntu显示lines 1-14/14(end)

Ubuntu下载MySQL,运行MySQL时,终端显示这个,一直退出不了,我查了之后以为是要你输入密码,结果不行,然后搜到按q键退出,md。

2023-02-03 15:34:24 1216 6

原创 Linux下报错无法创建虚拟机

在Ubuntu里下载Tomcat10.1.5,结果Java环境变量配好了,还报错CATALINE OPTS ,搞了大半天。首先日志里抛出的错误是could not create the Java virtual machine.然后搜了大半天,要么说改Catalina.sh,有的说改startup.sh,有的说改shutdown.sh结果通通没有用,到后来我还怀疑是不是jdk环境变量配错了,到了最最后才被别人的评论提醒了,Tomcat我的是10.1.5的版本,刚好不支持jdk1.8,Tomcat10

2023-02-02 23:59:25 1521

原创 finalshell连接ubantu

这里我是一直报错连接不上,我这里由于没有安装openssh-server,导致找不到ssh的配置文件。1.安装sshsudo apt-get install openssh-server\n\n\n\n2.重启ssh服务;sudo service ssh restart3.查看启动情况;ps -e |grep ssh检查防火墙是否关闭(关闭防火墙)1.查看防火墙是否关闭sudo ufw status2.关闭防火墙sudo ufw disable3.启动22端口

2023-02-02 16:10:53 1054

原创 ads的项目下的文件全部消失不见了

今天遇见非常之离谱的一件事,ads(AURIX Development Studio)的一个项目里,在我点了编译按钮后,文件全都没了,当时吓我一大跳,毕竟是非常,炒鸡,无敌,很重要的工程文件,在回收站也没找到影子,本来心都凉了,打算重新来过,结果意外之下,发现项目源文件(我的文件是在源文件下进行改写的,里面居然找到了我要的东西)按道理说不应该啊,我是拿到原项目源文件,再复制一份放到了ads的工作空间里,进行了改写,在工作空间改了这个复制的文件之后按理不会影响源文件,结果源文件也被改了,虽然说现在需要

2023-01-19 00:46:43 434

原创 力扣(491.46)补9.23

491.递增子序列这个回溯的剪枝操作真的死也想不到。太奇葩了。我以为既要树层去重又要树枝去重,结果就是一个树层去重。class Solution { private: vector<vector<int>> res; vector<int> path; void back(vector<int> nums,int index){ if(path.size()>=2)

2023-01-18 14:28:00 551

原创 力扣(78.90)补9.22

78.子集感觉不太难,但是就是不会写。感觉回溯里有很多细节问题。class Solution {private:vector<vector<int>> res;vector<int> num; void back(vector<int>& nums,int index,int end){ res.push_back(num); if(index>=end){ re

2023-01-17 16:16:57 460

原创 力扣(131.93)补9.21

131.分割回文串又是不会做的一题呢。代码看起来不难,但想出代码还是很难得。class Solution { public List<List<String>> partition(String s) { List<List<String>> ans=new ArrayList<>(); List<String> list=new ArrayList<&gt

2023-01-16 16:00:13 520

原创 intellij idea报错:类文件具有错误的版本 61.0, 应为 52.0

在学spring框架的时候,一不小心更新了org.springframework的spring-context依赖包,升级到了6.0.3的版本,因此而报错。找半天CSDN也没啥收货,都说是springboot的版本问题,但我没用springboot啊,想着降低spring的版本,结果也不会。然后只好把spring-context的6.0.3的版本给删了,用的5.3.1的版本,此时项目文件会爆红,不用担心,再自动更新一下所有项目文件,然后就没问题了,就是说可能这个版本的依赖包有点bug吧。

2023-01-11 03:47:46 886

原创 maven项目的pom.xml文件添加依赖

先把添加依赖的代码放到pom.xml文件里,不出意外会爆红,其实是因为你的maven-repository仓库里没有对应的jar包。我用的是intellij idea 2022.3的版本,爆红时右上角会有个更新按钮,点一下就能够自动下载对应的jar包到maven仓库里,还能检测jar包并更新。不需要手动到官网下载。无敌智能。

2023-01-05 17:06:39 1370

原创 力扣(39.40)补9.20

目前打算刷些算法题,数据结构的题暂时放一放吧。39.组合总和不会,毕竟好久没做回溯了。看了这个图会好理解很多呦。class Solution { List<List<Integer>> ans=new ArrayList<>(); List<Integer> list=new ArrayList<>(); public List<List<Integer&gt

2022-12-24 14:42:48 1089 3

原创 力扣(15.18)补9.19

15.三数之和我以为不会太难,md不会。其实很让我惊讶的是,双指针用了2层循环但复杂度确是O(n)。牛🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮🐮另外这题除了算法思想,也有很多细节要处理,炒鸡花时间。class Solution { public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> ans=new ArrayList<

2022-12-22 20:10:48 369

原创 力扣(202.454)补9.18

202.快乐数不会。又要用到数学的思想,你要学会去分析。🙁根据上表你需要知道,一个很大的数,经过快乐运算,不可能会一直增大,一定会受到限制。class Solution { private int getNext(int n) { int totalSum = 0; while (n > 0) { int d = n % 10; n = n / 10; totalSu

2022-12-21 13:42:35 479

原创 力扣(142.1002)补9.17

142.环形链表Ⅱ不会,不过答案用了数学的想法,我以为计算机里只有暴力呢。public class Solution { public ListNode detectCycle(ListNode head) { if(head==null||head.next==null) return null; ListNode p=head; ListNode p2=head; while(true){

2022-12-20 15:27:32 319

原创 力扣(707.面试题02.07)补9.16

707.设计链表可以,真的是一个工程类的题目,处处要考虑细节,其实20分钟基本能写好,但是改各种细节又要40分钟,就是各种bug,总共花了一个小时才正确。class MyLinkedList { ListNode head=null; public MyLinkedList() { } public int get(int index) { if(head==null) return -1; List

2022-12-19 15:24:20 339

原创 力扣(647.516)补9.15

647.回文子串dp杀我。布尔类型的dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。当s[i]与s[j]不相等,那没啥好说的了,dp[i][j]一定是false。当s[i]与s[j]相等时,这就复杂一些了,有如下三种情况。情况一:下标i 与 j相同,同一个字符例如a,当然是回文子串。情况二:下标i 与 j相差为1,例如aa,也是回文子串。情况三:下标:i 与 j相差大于1的时候,例如caba

2022-12-18 15:25:01 321

原创 力扣(583.72)补9.14

583.两个字符串的删除操作难于上青天,dp。难度实在不敢恭,照旧看答案。确定dp数组(dp table)以及下标的含义。dp[i][j]:以i-1为结尾的字符串word1,和以j-1位结尾的字符串word2,想要达到相等,所需要删除元素的最少次数。这里dp数组的定义有点点绕,大家要撸清思路。确定递推公式。当word1[i - 1] 与 word2[j - 1]相同的时候 当word1[i - 1] 与 word2[j - 1]不相同的时候当word1[i - 1] 与 wo

2022-12-17 14:20:33 266

空空如也

空空如也

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

TA关注的人

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