- 博客(31)
- 收藏
- 关注
原创 栈,队列的操作
stack232. 用栈实现队列脑壳里去模拟一下栈的操作,先入先出。1.添加元素直接push就可以。2.pop出栈操作,就会复杂一点,我们现在需要的是移除并且返回栈底的最后一个元素,我们需要将门前栈前面的n-1个元素全部放入一个新的栈中,通过循环size--来找到最后一个元素,记录最后一个元素并且不将这个元素放入辅助栈,然后将辅助栈的元素放回原来的正确的栈中。3.获取队头元素,使用已有的pop函数,弹出,再push放入。
2023-07-23 11:05:51
57
原创 151、反转字符串里的单词
上述方法从前向后遍历字符串,遇到文中的两个空格以上的就删除多余的,判断字符串前,字符串后的空格,如果又就删除。返回一个正常的字符串,方便后面的反转操作。上述代码中,erase()函数的时间复杂度为o(n),再加上for循环的时间复杂度,总体为o(n2)。如果使用双指针的操作,我们就可以不使用rease()函数,使得时间复杂度为o(n)。在学习这道题的过程中的还学到些其他的。程序的总体代码如下。
2023-07-17 10:49:13
78
1
原创 1两数之和,15三数之和,18四数之和,454四数相加2
1.定义一个unordered_map,key为a和b的两数之和,value为a和b两数之和出现的次数。4.遍历C,D数组,如果0-(c+d)在map中出现,count统计下来。3.定义int型变量count,用来统计a+b+c+d=0出现的次数。2.遍历A,B数组,统计两个数组元素之和以及出现次数,存储在map中。三数之和(没过,贴一下我垃圾代码)掀桌子不干了,我的脑子写不出代码。5.最后返回count。难点在于剪枝和去重。
2023-07-15 15:03:59
80
1
原创 242. 有效的字母异位词
用第一个字符串字母分别在26个位置存储起来,这样可以合理的反应出字母的种类和数量。最后判断如果数组全部为0,则说明两个字符串字母数量和种类相同。再使用第二个字符串,使用自减的方式来减去数组中的数据。这道题创建一个26位的数组。
2023-07-14 13:06:14
43
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人