先上题目:
今晚做的一道题目,虽然是简单题,但是题目有时间复杂度限制,因此需要将时间复杂度将为O(n)。
刚开始看到题目我的思路是先排序,然后双层for循环,第一层选择第一件零件,然后第二个for循环选择第二件零件再进行合法性判断。但显然会爆时间复杂度。
所以为了降低时间复杂度,我们采取双指针法来进行遍历。下面是我的代码:
class Solution {
public:
int purchasePlans(vector<int>& nums,
先上题目:
今晚做的一道题目,虽然是简单题,但是题目有时间复杂度限制,因此需要将时间复杂度将为O(n)。
刚开始看到题目我的思路是先排序,然后双层for循环,第一层选择第一件零件,然后第二个for循环选择第二件零件再进行合法性判断。但显然会爆时间复杂度。
所以为了降低时间复杂度,我们采取双指针法来进行遍历。下面是我的代码:
class Solution {
public:
int purchasePlans(vector<int>& nums,