文章目录
- 1913. 两个数对之间的最大乘积差
- 976. 三角形的最大周长
- 561. 数组拆分 I
- 881. 救生艇
- 324. 摆动排序 II
- 455. 分发饼干
- 1827. 最少操作使数组递增
1913. 两个数对之间的最大乘积差
class Solution {
public:
int maxProductDifference(vector& nums) {
sort(nums.begin(),nums.end());
return nums[nums.size()-1]*nums[nums.size()-2]-nums[1]*nums[0];
}
};
976. 三角形的最大周长
class Solution {
public:
static bool cmp(int a,int b) {
return a>b;
}
int largestPerimeter(vector& nums) {
int n=nums.size();
sort(nums.begin(),nums.end(),cmp);
for(int i=0;inums[i]) return nums[i]+nums[i+1]+nums[i+2];
}
return 0;
}
};
561. 数组拆分 I
class Solution {
public:
int arrayPairSum(vector& nums) {
int sum=0,n=nums.size();
sort(nums.begin(),nums.end());
for(int i=0;i
881. 救生艇
class Solution {
public:
int numRescueBoats(vector& people, int limit) {
int ans=0,n=people.size();
sort(people.begin(),people.end());
for(int i=n-1;i>=0;i--) {
if(people[i]!=-1) {
int l=0,r=i-1;
while(l>1;
if(people[mid]<=limit-people[i]) l=mid;
else r=mid-1;
}
while(l>=0&&people[l]==-1) l--;
cout<=0&&people[l]!=-1&&people[l]+people[i]<=limit) people[l]=-1;
ans++;
}
}
return ans;
}
};
324. 摆动排序 II
class Solution {
public:
void wiggleSort(vector& nums) {
vectorres=nums;
sort(res.begin(),res.end());
int n=nums.size(),j=n-1;
for(int i=1;i
455. 分发饼干
const int N=3e4+10;
bool st[N];
class Solution {
public:
int findContentChildren(vector& g, vector& s) {
memset(st,false,sizeof(st));
sort(s.begin(),s.end());
int ans=0,n=g.size();
for(int i=0;i>1;
if(s[mid]>=g[i]) r=mid;
else l=mid+1;
}
while(l=g[i]) st[l]=true,ans++;
}
return ans;
}
};
1827. 最少操作使数组递增
class Solution {
public:
int minOperations(vector& nums) {
int ans=0;
for(int i=1;i