1.简单级别 练习一下vector操作
leetcode414
class Solution {
public:
int thirdMax(vector<int>& nums) {
set<int> st(nums.begin(), nums.end());
nums.assign(st.begin(), st.end());
int length=nums.size();
sort(nums.begin(),nums.end());
if(length>=3)return nums[length-3];
else if(length==2)return nums[1];
else return nums[0];
}
};
2.leetcode628
刷简单题虽然没意思 但是好多语法知识忘了 还是打一下基础
class Solution {
public:
int maximumProduct(vector<int>& nums) {
int length=nums.size();
sort(nums.begin(),nums.end());
int t1,t2,result;
int result1=-1,result2=-1;
if(nums[0]<0&&nums[1]<0)
{
t1=abs(nums[0]);
t2=abs(nums[1]);
result1=t1*t2;
}
result2=nums[length-1]*nums[length-2]*nums[length-3];
return max(result1*nums[length-1],result2);
}
};
3.leetcode442
这道题有点小思维 但是没用到什么基础知识 争取明天刷两道移位
下周二把数组部分复习完
class Solution {
public:
vector<int> findDuplicates(vector<int>& nums) {
vector<int>result;
int length=nums.size();
for(int i=0;i<length;i++)
{
int x=abs(nums[i]);
if(nums[x-1]>0)nums[x-1]=-nums[x-1];
else
result.push_back(abs(nums[i]));
}
return result;
}
};