营销型网站的名词解释,太原网站建设模板,房地产做网站,全国住房和城乡建设厅网站376. 摆动序列 原题链接#xff1a;完成情况#xff1a;解题思路#xff1a;参考代码#xff1a;_376摆动序列_376摆动序列 错误经验吸取 原题链接#xff1a;
376. 摆动序列
https://leetcode.cn/problems/wiggle-subsequence/description/
完成情况#xff1a; 解题… 376. 摆动序列 原题链接完成情况解题思路参考代码_376摆动序列_376摆动序列 错误经验吸取 原题链接
376. 摆动序列
https://leetcode.cn/problems/wiggle-subsequence/description/
完成情况 解题思路 //就是贪心上升的时候选取上升数中的较大值// 下降的时候选取下降数中的较小值//然后因为是摆荡数列嘛就是要开局确认一下是先递增还是先递减参考代码
_376摆动序列
package 代码随想录.贪心算法;public class _376摆动序列 {/**** param nums* return*/public int wiggleMaxLength(int[] nums) {//就是贪心上升的时候选取上升数中的较大值// 下降的时候选取下降数中的较小值//然后因为是摆荡数列嘛就是要开局确认一下是先递增还是先递减if (nums.length 1){return nums.length;}
// //看增减顺序
// boolean flag true; //true增 false减//当前差值int curDiff 0;//上一个差值int prevDiff 0;
// int preA nums[0];
// int preB nums[1];
// if (preB - preA 0){
// //先减
// flag false;
// }
// int maxValue preB;
// for (int i2;i nums.length;i){
// if (flag )
//
// }int count 1;for (int i 1; i nums.length; i){//得到当前差值curDiff nums[i] - nums[i-1];//如果当前差值和上一个差值为一正一负//等于0的情况表示初始时的preDiffif ((curDiff 0 prevDiff 0) || (curDiff 0 prevDiff 0)){count;prevDiff curDiff;}}return count;}
}
_376摆动序列
package 代码随想录.动态规划;import java.util.Map;public class _376摆动序列 {/**** param nums* return*/public int wiggleMaxLength(int[] nums) {// 0 i 作为波峰的最大长度// 1 i 作为波谷的最大长度int dp[][] new int[nums.length][2];dp[0][0] dp[0][1] 1;for (int i 0; i nums.length; i){//i 自己可以成为波峰或者波谷dp[i][0] dp[i][1] 1;for (int j 0; j i; j){if (nums[j] nums[i]){//i是波谷dp[i][1] Math.max(dp[i][1], dp[i][0] 1);}if (nums[j] nums[i]){//i是波峰dp[i][0] Math.max(dp[i][0],dp[j][1] 1);}}}return Math.max(dp[nums.length - 1][0],dp[nums.length-1][1]);}
}
错误经验吸取