自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营第九天 | 栈和队列 Part01

五,leetcode 1047 删除字符串中的所有相邻重复项。二,leetcode 232 用栈实现队列。三,leetcode 225 用队列实现栈。四,leetcode 020 有效的括号。

2024-09-18 00:12:37 440

原创 代码随想录算法训练营第八天 | 字符串 Part02(KMP暂时跳过)

因为从前向后填充就是O(n^2)的算法了,因为每次添加元素都要将添加元素之后的所有元素整体向后移动。很多数组填充类的问题,其做法都是先预先给数组扩容带填充后的大小,然后在从后向前进行操作。,就是在遍历字符串的过程中,只要让 i += (2 × k),i 每次移动 2k 就可以了,然后判断是否需要有反转的区间。然后,从后向前替换数字字符,也就是双指针法,过程如下:i指向新长度的末尾,j指向旧长度的末尾。b ”,首先要做的就是将原数组扩充到每个数字字符替换成 “number” 之后的大小。

2024-09-06 00:09:17 1354

原创 代码随想录算法训练营第七天 | 字符串 Part01

四数之和的双指针解法是两层for循环nums[k] + nums[i]为确定值,依然是循环内有left和right下标作为双指针,找出nums[k] + nums[i] + nums[left] + nums[right] == target的情况。本题求解依然是使用双指针的方法,只不过对于字符串的反转,要比链表简单一些。(2)依然还是在数组中找到 a,b和c,使得a + b +c = 0,我们这里相当于 a = nums[i],b = nums[left],c = nums[right]。

2024-09-03 23:33:05 912

原创 代码随想录算法训练营第六天 | 哈希表 Part02

C++语言中,set ,关于set,C++ 给提供了如下三种可用的数据结构:std::set,std::multiset和std::unordered_set,std::set和std::multiset底层实现都是红黑树,std::unordered_set的底层实现是哈希表, 使用unordered_set 读写效率是最高的,并不需要对数据进行排序,而且还不要让数据重复,所以选择。本题的解题思路,需要一个集合来存放我们遍历过的元素,然后在遍历数组的时候去询问这个集合,某元素是否遍历过,换一种说法就是。

2024-08-31 15:36:44 1984

原创 代码随想录算法训练营第五天 | 哈希表 Part01

举一个例子,现在要查询一个名字是否在这所学校里,要枚举的话时间复杂度是O(n)(将学校里的学生依次遍历,直到找到目标名),但如果使用哈希表的话, 只需要O(1)就可以做到。这样就将字符串s中字符出现的次数,统计出来了。(1)定一个数组叫做record,数组大小为26 就可以了,初始化为0,因为字符a到字符z的ASCII也是26个连续的数值(小写的字母从a到z就是26个)。什么是有效的字母异位词?(4)统计完s中字符出现的次数之后,再遍历t中的字符,对t中出现的字符映射哈希表索引上的数值再做-1的操作。

2024-08-29 23:38:36 1615

原创 代码随想录算法训练营第四天 | 链表 Part02

一,leetcode 024 两两交换链表中的节点二,leetcode 019 删除链表中的倒数第N个节点三,面试题-02.07 链表相交四,leetcode 142 环形链表IIleetcode 024 两两交换链表中的节点本题推荐使用虚拟头节点,避免每次针对头结点(没有前一个指针指向头结点),还要单独处理。所以初始化操作有两点:(1)定义一个虚拟头节点dummyHead指向真实头节点;(2)定义一个cur节点,指向虚拟头节点,用来指示当前遍历位置。交换逻辑如下图(1)在正式交换前,利用

2024-08-28 18:47:57 1020

原创 代码随想录算法训练营第三天 | 链表 Part01

链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域,一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的入口节点称为链表的头结点也就是head。

2024-08-27 00:15:01 745

原创 代码随想录算法训练营第二天 | 数组 Part02

(1)滑动窗口:不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。(2)滑动窗口也可以理解为双指针法的一种,只不过这种解法更像是一个窗口的移动。

2024-08-23 23:40:27 575

原创 代码随想录算法训练营第一天 | 数组 Part01

之前已经完成了视频的观看,并且做了相应的笔记。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2024-08-01 23:36:43 258

空空如也

空空如也

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

TA关注的人

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