- 博客(62)
- 收藏
- 关注
原创 【力扣一轮】15.三数之和 && 18.四数之和
刚开始是准备用之前的方法哈希进行查找。但是题目中说到不能有重复的元素值。所以直接看视频讲解。视频用到双指针法。先对整个数组进行排序,接着对数组每个元素遍历。如果第一个元素就大于0,那么直接返回空。因为正数列表怎么加都不能为0。left和right以及当前遍历的数值,如果三者相加为正,则说明要减少其和,right要向左移动;如果三者相加为负,则说明要增加其和,left要向右移动。那么去重操作怎么做?👇Q1=》判断还是?A1=》前者如果contine,会把有重复的元素的结果集给筛掉。而后者则不会。
2024-05-23 20:47:46
457
原创 【力扣一轮】454.四数之和 && 383.赎金信
为什么能想到这里,注意到它的和是0,(和可以是任何数)这样就相当于两两数组为一对,看其中一对数组中的元素,在另外一对数组中是否出现了相反数。这里的一对说的是A+B或其他组合方式,(不重要,因为都是随机的)然而以上想法截止到第二句,都没问题,需要注意的是,不是全对应。A2:因为在存储时,不仅要存储对应的元素,也要存储元素出现的次数,所以用到map。结合之前的有效字母异位符,数组,set,map,使用数组即可。也就是说如果一对数组中有两个-2,另一对数组中只有一个2,那么计算为0的次数为2。
2024-05-22 18:44:11
593
原创 【力扣一轮】202.快乐数 && 1.两数之和
202.快乐数力扣链接代码随想录链接思路看到这一题没思路,直接看题解。发现其中一个难点在于“无限循环”,这个字眼可以转换成退出条件。退出条件就有两种,一种是这个数字是快乐数,一种是这个数字不是快乐数。如果是快乐数好说,判断结果是否为1即可。如果不是呢?就需要看无限循环。无限循环的意思翻译下就是判断之后出现的结果,是否在之前的哈希表中存在。如果存在,则说明这个数字是快乐数。另外一个难点就是怎么对其计算出数字之和?发现用循环解决的。伪代码当结果集合不存在1时 得到一个计算结果 判断这个结
2024-05-21 11:38:46
568
原创 【力扣一轮】字符串异位 && 数组并集
先验知识记录:遇到哈希问题,想到三种数据结构:①数组:适用于哈希值比较小,范围较小,②set:适用于哈希值较大。③map:如果需要用到键值对,则用之。
2024-05-20 16:48:59
360
原创 【力扣一轮】寻找环入口
也是用双指针法,快指针每次两步,慢指针每次一步。这两个指针慢慢地走入一个环。如果快指针和慢指针相遇了,那么就说明有环。但此时有环还不够,还要去找到环的入口。此时我不理解了(2024年5月19日)。
2024-05-19 00:07:25
171
原创 【力扣一轮】删除倒数第k个节点 & 找到共同节点
思路:两个链表,短的链表要向长的链表尾部对齐。此时不需要头节点,因为不需要操作,只需要遍历。
2024-05-17 12:31:01
264
1
原创 【力扣一轮】反转链表 & 两两交换
刚开始想以暴力解决,新建一个链表,接着不断地头插。但实践下来发现新建的节点总是会被覆盖。所以听课后采用双指针解法。题目思路:其实自己的问题还是在于没有把链表连起来。两个元素交换后,会导致节点的丢失。现在想想,对应的指针没有明确。不过(2024年5月16日)暂时不理解的是,为什么我的思路不可以……对于双指针而言,就需要有一个额外的临时指针存第n+2个节点的地址。因为是第一遍,所以递归的用法暂时不理解,也没看。什么时候需要虚拟头节点?此时不需要虚拟头节点。
2024-05-16 15:15:35
314
原创 【力扣一轮】链表常见操作
教训:①老老实实解题,自己设想的各种情况不切实际不要搞。跟随代码随想录刷题,今日只是学习链表的各种操作。②注意是下标还是位置。
2024-05-15 14:00:20
175
3
原创 【力扣一轮】数组-旋转矩阵
这时需要用到循环不变量,它是一个循环,每次处理的时候需要处理的方式是一样的,而不是有着条件的限制。2.对于进入再次循环的条件,没有考虑到,具体体现在for循环中用到了n,而n是作为退出条件改变了。对于这道题,循环不变量就是边元素的处理,只处理当前边的起始元素,不处理当前边的末尾元素。3.对于奇数矩阵和偶数矩阵的处理,没有考虑到中间值。对于奇数矩阵还是偶数矩阵,只是多加一个元素指定值。以上4点,导致看了4次卡尔老师的代码,才完成。1.对于循环退出条件,没有考虑到,需要设置。调试之后,发现自己欠缺考虑有几点。
2024-05-14 11:21:07
285
原创 【C++第三阶段】Set & Map容器 & 员工分组案例
首先得重写对应数据类型的打印方法。其次得在重写的打印方法中对person也加上const修饰。public:public:public:out << person.person_name << "年龄为:" << person.person_age << "." << endl;return out;st_begin!= st.end();//自定义数据类型的自定义排序Person p("张三", 23);Person e("李四", 24);
2024-05-06 15:32:58
732
原创 【C++第三阶段】STL初识
存放自定义的数据类型。仍然是把它当作一个指针来看待。vector<自定义数据类型> 变量名;vector<自定义数据类型>::iterator 变量名2=变量名.begin();//使用vector存放自定义数据类型public:public://cout << person.person_name << "の年龄是" << person->person_age << "." << endl;
2024-04-03 16:20:24
971
原创 【C++第二阶段】继承&多态&电脑组装实例
实验验证:①存有纯虚函数的类不能实例化对象;②子类必须要重写纯虚函数;③否则该子类也不能实例化对象。由图片可知,①存在有纯虚函数的类不能实例化对象。
2024-04-02 20:11:30
1316
原创 【C++第二阶段】封装之类访问权限 & struct class区别&成员设置私有&案例
内容包括 : 访问权限,class,struct区别,成员属性设置为私有,设计案例。
2024-01-30 20:27:46
1091
空空如也
提取CMU- Mosei数据集的特征
2024-11-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人