Home
Interview
工作经历
Q&A
LeetCode
高频考题
面试经典150题
C++
知识点
STL
基础
Python
Django
基础
Linux
性能分析 tools
Windows
Course
李宏毅 ML/DL
Linear Algebra
Archives
About
疯狂的TalentQ
累计撰写
102
篇文章
累计创建
0
个标签
累计收到
0
条评论
栏目
Home
Interview
工作经历
Q&A
LeetCode
高频考题
面试经典150题
C++
知识点
STL
基础
Python
Django
基础
Linux
性能分析 tools
Windows
Course
李宏毅 ML/DL
Linear Algebra
Archives
About
目 录
CONTENT
以下是
面试经典150题
相关的文章
2025-08-14
9/150 55-跳跃游戏
1 题目 55-跳跃游戏 2 思路 倒着遍历数组,如果倒数第二个元素大于等于1,则说明只要判断能否到达倒数第二个位置即可,在此时递归,如果倒数第二个元素小于1,则继续遍历倒数第三个元素,和2比较,依次遍历即可。这个思路的时间复杂度:O(n!),空间复杂度:O(1)。 3 题解 class Solut
2025-08-14
5
0
0
面试经典150题
2025-08-13
8/150 122-买卖股票的最佳时机II
1 题目 122-买卖股票的最佳时机II 2 思路 遍历数组,价格低就买,价格高就卖。股民的理想玩法,低买高卖,赚得盆满钵满。 时间复杂度:O(n),空间复杂度:O(1)。 3 题解 class Solution { public: int maxPro
2025-08-13
1
0
0
面试经典150题
2025-08-13
7/150 121-买卖股票的最佳时机
1 题目 121-买卖股票的最佳时机 2 思路 遍历数组,维护一个当前股票的最低价格 min_price,维护一个当前最高收益 max_profit。如果当前遍历的值大于 min_price,则更新min_price;如果当前遍历的值减去min_price得到的收益,大于max_profit,则更新
2025-08-13
1
0
0
面试经典150题
2025-08-13
6/150 189-轮转数组
1 题目 189-轮转数组 2 思路 题目要求想出尽可能多的解决方案。 2.1 首先想到,开辟k个空间将最右边k个数存下来,数组右移k个位置,再将存下来的k个数放在数组的开头。时间复杂度:O(n), 空间复杂度为 O(n)。 2.2 暴力解法(不要使用暴力,使用暴力是在证明自己头脑简单),循环右移,
2025-08-13
0
0
0
面试经典150题
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
0
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
1
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
3
0
0
面试经典150题
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
0
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
2
0
0
面试经典150题