C语言打家劫舍

#include 
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是递推存储容器

你可能感兴趣的:(c语言,算法)