#include <stdio.h> int main() { int arr[] = {2,7,9,3,1}; int dp[5]; dp[0] = 2; dp[1]=arr[1]>arr[0]?arr[1]:arr[0]; for(int i=2;i<5;i++){ dp[i] = dp[i-1]>dp[i-2]+arr[i]?dp[i-1]:dp[i-2]+arr[i]; } printf("%d",dp[4]); }
有点难 arr是数据容器,dp是递推存储容器
#include <stdio.h> int main() { int arr[] = {2,7,9,3,1}; int dp[5]; dp[0] = 2; dp[1]=arr[1]>arr[0]?arr[1]:arr[0]; for(int i=2;i<5;i++){ dp[i] = dp[i-1]>dp[i-2]+arr[i]?dp[i-1]:dp[i-2]+arr[i]; } printf("%d",dp[4]); }
有点难 arr是数据容器,dp是递推存储容器