自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营14期第13天| 239.滑动窗口最大值 347.前 K 个高频元素

不管怎么说,还是跌跌撞撞地做完了,还是有收获的。但是这道题又属于比较难的题目,所以需要反复回来观看。的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。滑动窗口的位置 最大值。这里优先级队列是第一次接触该概念,需要再复习一下。滑动窗口每次只向右移动一位。347. 前 K 个高频元素。,请你返回其中出现频率前。你所设计算法的时间复杂度。239. 滑动窗口最大值。

2023-05-23 21:26:40 47 1

原创 代码随想录算法训练营14期第11天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值

例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。解答:||操作先判定前者的条件,再判定后者的条件,若前者条件满足,则提前进入if语句;本题目中若将s_mat.top()先放在前面进行判定,则在栈为空时成为非法语句,无法加入判定。这是在经过了代码优化之后的版本,原本的代码增加了很多中途不需要的变量,故非常臃肿。

2023-05-23 11:51:19 44

原创 代码随想录算法训练营14期第10天| 232.用栈实现队列 225. 用队列实现栈

栈和队列都需要比较熟练使用,才可以应对相关题目的挑战,这道题就是一道比较好的练习题。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(myStack.empty();// 返回 False。232. 用栈实现队列。225. 用队列实现栈。

2023-05-22 20:43:33 46 1

原创 代码随想录算法训练营14期第6天| 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

declaration的效果类似于int i=0,和后面的expression类型应该是一样的,定义的变量还可以用auto关键字表示,进而对数据类型形成自适应。2.哈希法在时间复杂度上具有优势,和暴力破解的O(n²)相比,哈希法避免了重复比较操作,但是在空间复杂度上具有劣势,也是属于以空间换时间的方法。1.考虑到数组在实现时需要提前知道数据量的大小,如果不知道的话本题的两个统计用的bool数组便无从谈起,为此我们可以尝试用集合的办法解决本题。1.本题用的是最简单的哈希法,数组。输出结果中的每个元素一定是。

2023-05-15 21:18:26 69 1

原创 代码随想录算法训练营14期第3天| 203.移除链表元素 707.设计链表 206.反转链表(扔待补充)

本题对于帮助我们了解链表的删除过程有较好的启发意义,但是如果我们需要再VS里头将输入输出复现一遍,才能更好掌握链表的输入输出过程。// 链表变为 1->2->3。// 现在,链表变为 1->3。以指示链表中的上一个节点。假设链表中的所有节点下标从。你可以选择使用单链表或者双链表,设计并实现自己的链表。是指向下一个节点的指针/引用。给你一个链表的头节点。

2023-05-15 10:58:37 47

原创 代码随想录算法训练营14期第2天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

这里的错误信息发生的原因在于j在跃出nums的容量时,vector型容器nums会分配一个新的空间,而在这个空间中的新的值就是-1094795586,其平方超过了21亿的int区间,所以会报错。双指针法的优势在于,和一般先遍历获取信息的算法不同,双指针可以直接在第一次遍历的时候完成排序任务,减少了后续的操作,为此极大增强了其时间效率。第二种方法的优势还是在于时间复杂度,为O(n),按照卡哥的说法,所有的元素都被遍历过了2次,所以时间复杂度应该为O(2n)平方后,数组变为 [16,1,0,9,100]

2023-05-12 19:17:42 310 1

原创 代码随想录 第14期训练营 打卡第一天 5.10

2.取右边界的条件为right = middle,取左边界的条件为left = middle + 1;因为左闭右开区间的情况下右边界不被包括,而左边界是被包括的。2.取右边界的条件为right = middle - 1,取左边界的条件为left = middle + 1;例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。1.本题目给出的变量类型是vector,而非数组,为此.size求元素个数是合理的。是以“引用”方式传递的。

2023-05-10 22:19:55 331 2

空空如也

空空如也

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

TA关注的人

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