题解 | #交错序列#
交错序列
http://www.nowcoder.com/practice/d00c43a0739e4f0ca299d6c5067bb4b9
动态规划,很容易可以想到关联方程,当相邻数值不等时dp[i]=dp[i-1]+1;
相等时则:dp[i]=dp[i-1];
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int a[n]; int dp[n]; dp[0]=1; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=1;i<n;i++){ if(a[i]!=a[i-1]){ dp[i]=dp[i-1]+1; }else{ dp[i]=dp[i-1]; } } cout<<dp[n-1]<<endl; return 0; }