Home
Thoughts
AI
Course
李宏毅 ML/DL
Linear Algebra
Python
Django
基础
C++
知识点
STL
基础
Linux
性能分析 tools
Windows
Interview
工作经历
Q&A
LeetCode
高频考题
面试经典150题
Archives
About
疯狂的TalentQ
累计撰写
105
篇文章
累计创建
0
个标签
累计收到
1
条评论
栏目
Home
Thoughts
AI
Course
李宏毅 ML/DL
Linear Algebra
Python
Django
基础
C++
知识点
STL
基础
Linux
性能分析 tools
Windows
Interview
工作经历
Q&A
LeetCode
高频考题
面试经典150题
Archives
About
目 录
CONTENT
以下是
TalentQ
的文章
2025-08-04
5/150 169-多数元素
1 题目 169-多数元素 2 思路 首先想到哈希表,key是元素值,value是元素的个数,取个数最大的key。虽然时间复杂度为 O(n),但空间复杂度为 O(n),不符合题意的 O(1); 然后想到排序,排序后取中间元素。可是排序(如快排)的时间复杂度为 O(nlogn),不符合题意的 O(n)
2025-08-04
4
0
0
面试经典150题
2025-07-31
4/150 88-删除有序数组中的重复项 II
1 题目 88-删除有序数组中的重复项 II 2 思路 双指针+快慢:同 3/150 26-删除有序数组中的重复项 ,原来是比较 i-1的元素和j元素,现在是比较 i-2元素和j元素。
2025-07-31
6
0
0
面试经典150题
2025-07-31
3/150 26-删除有序数组中的重复项
1 题目 26-删除有序数组中的重复项 2 思路 双指针+快慢:慢指针维持不重复的元素,快指针遍历数组,找到不重复的元素,并赋值给慢指针i。快慢指针之间的元素都是丢弃的元素。 只需要看i-1的元素和j元素是否相等,不相等则j元素为不重复元素,赋值给i元素。 时间复杂度:O(n),空间复杂度:O(1)
2025-07-31
6
0
0
面试经典150题
2025-07-31
C++ 标准模板库STL全解析
1 什么是STL STL(Standard Template Library)是 C++ 标准库的重要组成部分,提供了高效、通用、可复用的数据结构和算法。STL 的核心设计思想是泛型编程(Generic Programming),即通过模板机制实现算法与容器的解耦,提高代码的复用性和可维护性。 ST
2025-07-31
21
0
0
STL
C++
2025-07-31
2/150 2-27-移除元素
1 题目 27-移除元素 2 思路 双指针:将左边遇到 val 的位置,赋值为右边指针的值。注意边界情况即可。 3 题解 class Solution { public: int removeElement(vector<int>& nums, int val) { int l = 0
2025-07-31
3
0
0
面试经典150题
2025-07-31
1/150 1-88-合并两个有序数组
1 题目 88-合并两个有序数组 2 思路 将nums2合入nums1, 双指针:如果从nums1和nums2的头部开始处理,每次比较后将元素放置在nums1的当前位置,nums1的后续元素有一半概率要让出位置,整体向后移动一步,显然时间复杂度为 O(m(m+n)),太过于笨重; 双指针+额外空间:
2025-07-31
5
0
0
面试经典150题
2025-07-30
C++特性:多态
1 什么是多态 多态(Polymorphism)是C++面向对象编程的三大特性(“封装”、“继承”、“多态”)之一。它允许同一个接口在不同对象上展现不同的行为。多态的核心价值在于接口复用、代码解耦、扩展性强,实现了“对扩展开放,对修改封闭”的设计原则。 C++中的多态分为两类: 静态多态(编译时多态
2025-07-30
13
0
0
C++
基础
2025-07-28
C++原子操作:std::atomic
一、引言 在多线程编程中,数据竞争(data race)和原子性(atomicity)问题一直是开发者关注的重点。C++11 标准引入了 <atomic> 头文件,提供了类型安全的原子操作工具——std::atomic。 二、原子性与数据竞争 2.1 什么是原子操作?<
2025-07-28
28
0
0
基础
C++
2025-07-28
C++并发编程:std::async与std::future
引言 随着多核处理器的普及,C++程序员越来越需要利用并发编程来提升程序性能和响应能力。C++11标准引入了丰富的并发支持,其中std::async和std::future是最常用的异步任务和结果获取机制。 一、std::future与std::promise 1.1 什么是std::future?
2025-07-28
7
0
0
C++
基础
2025-07-24
C++ 多线程:深入理解 std::thread
引言 在 C++11 之前,多线程基本依赖平台相关 API(POSIX pthread、Windows CreateThread)。 std::thread 是 C++11 及以后 提供的跨平台线程抽象,特点: 零成本抽象:内部直接映射 pthread / WinThread RAII 语义:必须显
2025-07-24
12
0
0
C++
基础
1
...
7
8
9
10
11