摘要:
vector 随机访问 在序列末尾插入和删除元素为常量时间,而在中间插入和删除元素需要线性时间 介绍 vector为可变长的数组(动态数组),定义的vector数组可以随时添加和删除元素 当vector容量不足以容纳新增元素时会扩容为两倍(不同编译器有不同的实现,GCC以两倍扩容),需要将元素复制到 阅读全文
摘要:
344.反转字符串 题目链接 文章讲解 视频讲解 时间复杂度 o(n) 空间复杂度 o(1) 思路:双指针解决,和翻转数组一样 class Solution { public: void reverseString(vector<char>& s) { int left = 0, right = s 阅读全文
摘要:
四数相加II 题目链接 文章讲解 视频讲解 时间复杂度 o(n2) 空间复杂度 o(n) class Solution { public: int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3, vec 阅读全文
摘要:
242.有效的字母异位词 题目链接 文章讲解 视频讲解 时间复杂度 o(n) 空间复杂度 o(n) class Solution { public: bool isAnagram(string s, string t) { unordered_map<char, int> s_map, t_map; 阅读全文
摘要:
二分查找 二分法查找单个值 题目:给定一个n个有序的(升序)数组nums和一个目标值target,写一个函数搜索nums中target,如果目标值存在返回下标,否则返回-1; 关键词:有序数组,无重复元素 难点:区间选择及循环不变量 在每次循环中要坚持循环不变量原则(名字不重要,怎么做很重要) 如果 阅读全文
摘要:
23.两两交换链表中的两个节点 题目链接 文章讲解 视频讲解 时间复杂度 o(n) 空间复杂度 o(1) tips: 画图,并将每一步操作用伪代码写出来,然后将代码理顺可以避免修改代码的麻烦 初始化的时候就要将previous初始化为current的前一个节点,这样可以保证循环的第一步满足循环要求 阅读全文
摘要:
203.移除链表元素 题目链接 https://leetcode.cn/problems/remove-linked-list-elements/ 文章讲解 https://programmercarl.com/0203.移除链表元素.html#算法公开课 视频讲解 https://www.bili 阅读全文
摘要:
977.有序数组的平方 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 文章讲解:https://programmercarl.com/0977.有序数组的平方.html 视频讲解: https://www.bilibili. 阅读全文
摘要:
704.二分查找 题目链接:https://leetcode.cn/problems/binary-search/ 文档讲解:https://programmercarl.com/0704.二分查找.html 视频讲解:https://www.bilibili.com/video/BV1fA4y1o 阅读全文