力扣455.分发饼干
class Solution {
public int findContentChildren ( int [ ] g, int [ ] s) {
Arrays . sort ( g) ;
Arrays . sort ( s) ;
if ( s. length == 0 || g. length == 0 || s == null || g == null ) return 0 ;
int sIndex = s. length - 1 ;
int result = 0 ;
for ( int i = g. length - 1 ; i >= 0 ; i-- ) {
if ( s[ sIndex] >= g[ i] ) {
result++ ;
if ( sIndex > 0 ) sIndex-- ;
else break ;
}
}
return result;
}
}
力扣 376. 摆动序列
特殊/边界条件很多, 建议反复练习
class Solution {
public int wiggleMaxLength ( int [ ] nums) {
if ( nums. length <= 1 ) return nums. length;
int prediff = 0 ;
int curdiff = 0 ;
int result = 1 ;
for ( int i = 0 ; i < nums. length - 1 ; i++ ) {
curdiff = nums[ i + 1 ] - nums[ i] ;
if ( ( prediff >= 0 && curdiff < 0 ) || ( prediff <= 0 && curdiff > 0 ) ) {
result++ ;
prediff = curdiff;
}
}
return result;
}
}
力扣 53. 最大子序和
class Solution {
public int maxSubArray ( int [ ] nums) {
int result = Integer . MIN_VALUE ;
int sum = 0 ;
for ( int i = 0 ; i < nums. length; i++ ) {
sum += nums[ i] ;
if ( sum > result) result = sum;
if ( sum < 0 ) sum = 0 ;
}
return result;
}
}