一、预知识点
二、题目
1、1913. 两个数对之间的最大乘积差
题目
class Solution {
public :
int maxProductDifference ( vector< int > & nums) {
int a= 0 , b= 0 ;
int c= 10e4 , d= 10e4 ;
for ( int i= 0 ; i< nums. size ( ) ; i++ ) {
if ( nums[ i] >= a) {
b= a;
a= nums[ i] ;
}
else if ( nums[ i] > b) b= nums[ i] ;
if ( nums[ i] <= d) {
c= d;
d= nums[ i] ;
}
else if ( nums[ i] < c) c= nums[ i] ;
}
return a* b- c* d;
}
} ;
2、976. 三角形的最大周长
题目
class Solution {
public :
int largestPerimeter ( vector< int > & nums) {
sort ( nums. begin ( ) , nums. end ( ) , greater< int > ( ) ) ;
for ( int i = 0 ; i < nums. size ( ) - 2 ; i++ ) {
if ( nums[ i+ 1 ] + nums[ i+ 2 ] > nums[ i] ) return nums[ i] + nums[ i+ 1 ] + nums[ i+ 2 ] ;
}
return 0 ;
}
} ;
3、561. 数组拆分 I
题目
class Solution {
public :
int arrayPairSum ( vector< int > & nums) {
int ans= 0 ;
sort ( nums. begin ( ) , nums. end ( ) ) ;
for ( int i= 0 ; i< nums. size ( ) ; i+= 2 ) {
ans+= nums[ i] ;
}
return ans;
}
} ;
4、881. 救生艇
题目
class Solution {
public :
int numRescueBoats ( vector< int > & people, int limit) {
sort ( people. begin ( ) , people. end ( ) ) ;
int ans= 0 ;
int i= 0 , j= people. size ( ) - 1 ;
while ( i<= j) {
if ( people[ i] + people[ j] <= limit) i++ ;
j-- ;
ans++ ;
}
return ans;
}
} ;
5、324. 摆动排序 II
题目
在这里插入代码片
6、455. 分发饼干
题目
class Solution {
public :
int findContentChildren ( vector< int > & g, vector< int > & s) {
int i= 0 , j= 0 , ans= 0 ;
sort ( g. begin ( ) , g. end ( ) ) ;
sort ( s. begin ( ) , s. end ( ) ) ;
while ( i< g. size ( ) && j< s. size ( ) ) {
if ( g[ i] <= s[ j] ) {
ans++ ;
i++ ;
j++ ;
continue ;
}
j++ ;
}
return ans;
}
} ;
7、1827. 最少操作使数组递增
题目
class Solution {
public :
int minOperations ( vector< int > & nums) {
int ans= 0 ;
for ( int i= 0 ; i< nums. size ( ) - 1 ; i++ ) {
if ( nums[ i] < nums[ i+ 1 ] ) continue ;
ans+= nums[ i] - nums[ i+ 1 ] + 1 ;
nums[ i+ 1 ] = nums[ i] + 1 ;
}
return ans;
}
} ;
8、945. 使数组唯一的最小增量
题目
在这里插入代码片
9、611. 有效三角形的个数
题目
在这里插入代码片
三、收获
四、参考