自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 刷代码随想录day20--字符串

简单想的话需要开辟新的空间,少开辟一点开一个vector存后面的字符,然后双指针往后移动前面的字符,最后前面的字符被赋值为vector中的存储。

2024-09-26 22:01:16 138

原创 刷代码随想录19--字符串(1h)

先说一句,折在这道题太久了,呜呜每天做题不要断开,要不然就想一直拖,呜呜呜比较前后字符串,1.删空格2.reverse3.单词reverse:s.resize(n)中n是数组长度,这里为什么可以用j呢,因为s【j】=s[i]之后,j++,即j现在至少是s.size()

2024-09-25 21:12:01 239

原创 刷代码随想录18--字符串

2.这个双指针很巧妙,从后往前补数据,一个是旧数组的索引个,一个是新的,效果与开了一个新数组一样。:1.是‘0’而不是0,0是一个int,而‘0’的ASCALL不是0,所以注意。刚开始甚至卡在了数字和字母怎么区分:if in ‘0’~‘9’处理字符串,一般会定义一个string类型。

2024-09-21 20:27:27 214

原创 刷代码随想录16、17--字符串

1.reverse(s.begin(),s.begin()+i)翻转的是s[0]到s[i-1]p.s.之前有考虑i超过边界,但i-2*k到i之间数没有考虑全怎么办。注意区分是s.size()还是s.size()-1。2.i~i+k一共有K+1个数。

2024-09-19 21:03:35 158

原创 刷代码随想录15--哈希表

参考三数之和思路,双指针法,设置left,right,与三指针法不同,这里需要两个for遍历i和j(一共四个变量)

2024-09-17 23:47:43 953

原创 刷代码随想录14--哈希表

先是没看到重复的三元组也算重,于是写了如果result最后一组vector和当前要插入的一样,那就不要插;于是加了对nums【i】的去重: if (i > 0 && nums[i] == nums[i - 1]) continue;然后就是一些continue,break搞反了,没操作left,right陷入死循环等的问题,见注释。确实,哈希表适合i,j,k可重复,即遍历a[i],找有没有0-a[i]代码随想录给出了双指针法,个人感觉移动有一点像快排。那么,i,j,k不重复怎么办。

2024-09-16 20:55:32 459

原创 刷代码随想录13--哈希,auto

需要返回索引,即索引与数值对应,需要用到map使用“auto”关键字可以简化代码,特别是在处理复杂类型时map的使用。

2024-09-13 23:16:42 275

原创 刷代码随想录12--哈希(20min)

为啥这道题要用哈希呀,一步步化解,找到了关键:如果和出现重复值,就返回false。需要在()中指出num为int类型,否则编译不过。特别注意:for(int num:res)//部分为第二次debug才注意到的点。

2024-09-10 19:00:20 200

原创 刷代码随想录11--哈希

详细看了解析(甚至看了三遍。

2024-09-09 23:40:38 275

原创 刷代码随想录10--哈希表

数值-->索引【除留余数法】哈希碰撞-->1.开放定址法,2.链地址法哈希表与map,set?

2024-09-07 00:32:01 234

原创 刷代码随想录09--链表

可以自己画一个圈,在此刻,相当于fast追slow,从物理意义将,fast位移x1是个负值,x1 = -k;x = (n-1)(y+z)+z,结合上图,即一个指针从head走,一个从fast和slow相交点走,相同速度总会相遇。-->【slow在环入口时,fast在环入口任意位置(不考虑就在环入口这个特殊情况),这里假设在位置k处。fast和slow速度比2:1,时间相同,距离【x+y+n(y+z)】 : (x+y)得:2(x+y ) = x+y+n(y+z)可以自己画一个x-t图,会发现会相交的。

2024-09-05 23:35:43 396

原创 刷代码随想录08 回溯+链表

这里创建了vector以及vector,利用.push_back(),pop_back()其实有点蒙,二维数组,如何行数不定,列数固定。

2024-09-04 13:00:35 197

原创 刷代码随想录07--链表+回溯

思路:先知道链表有size个元素,在第size-n个元素基础上p->next = p->next->next;(不用考虑p->next->next是不是nullptr,即使是直接赋值给p->next就行)代码随想录:双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。但是挺抽象的,感觉很难想需要检验的特殊情况(n==链表长度),让我想到了软件测试:测试用例的设计?使用虚拟头指针,不用单独考虑删除头的情况。看了一眼提示,开干!

2024-09-03 20:33:08 306

原创 刷代码随想录06--链表

相当于只移动了current一个指针,代码见代码随想录。都涉及q->next = p;其次,1.p->q->r->m变成q->p->m。有几种情况:首先是链表头指针为空和只有一个元素。2.p->q->r变成q->p->r。

2024-09-02 23:22:44 241

原创 C++知识回顾

2.允许把非const对象的地址 赋给指向const对象的指针,不能使用指向const对象的指针修改指向对象,然而如果该指针指向的是一个非const对象,可以用其他方法修改其所指向的对象。写法:const 指向类型 *指针变量/ 指向类型 const *指针变量(const 在*前面)【表示不能通过指针修改被指向变量的值】3.实际编程过程中,指向const的指针常用作函数的形参,以此确保传递给函数的参数对象在函数中不能被修改。1.不能把一个const变量的地址 赋给一个 非const对象的指针。

2024-09-01 22:23:05 418

原创 刷代码随想录05--链表

想的也是多个指针移动,修改next,实际操作发现,只有两个是不够的,还需要一个r保存q原来的下一个元素。还是考虑链表为空和只有一个元素的特殊情况。反转链表(18min)

2024-09-01 21:41:33 167

原创 刷代码随想录04--链表

使用虚拟头指针还是比较方便的;此外,涉及到对第几个元素操作,是否越界需要引入size。C++类的定义(public,private),C++内存机制(创建和delete)整体没太多难度,主要是if-else结构写着写着就乱了,debug很久。

2024-08-31 18:55:56 221

原创 刷代码随想录03--数组+链表

初始思路:怀疑是在找规律,是的,(看了一眼提示),划分为左闭右开4块(中间一个数字单独考虑)

2024-08-30 23:38:31 280

原创 刷代码随想录day02--数组

1.注意for的终止条件,

2024-08-30 12:50:30 341

原创 刷代码随想录day01-数组

数组是存放在连续内存空间上的相同类型数据的集合。

2024-08-25 11:19:55 321

空空如也

空空如也

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

TA关注的人

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