首页 > 编程语言 > 详细

LeetCode198题(C语言)

时间:2021-06-01 15:24:42      阅读:25      评论:0      收藏:0      [点我收藏+]
#include<stdio.h>
#include<malloc.h>
#include<string.h> 
int cmp(const void *a,const void *b)
{
    return *(int *)a-*(int *)b;
}    
/*
    LeetCode第198题 
*/
/*
    dp思想:每次判断是加上这个数更多还是不加更多。 
        max(dp[i-2]+nums[i],dp[i-1])
*/
int rob(int* nums, int numsSize){
    if(numsSize == 1) return nums[0];
    if(numsSize == 2) return nums[0] > nums[1] ? nums[0] : nums[1];
    int i;
    int res1 = nums[0];
    int res2 = nums[0] > nums[1] ? nums[0] : nums[1];
    int res = 0;
    int temp;
    for(i = 2; i < numsSize; i++)
    {
        temp = res1 + nums[i];
        res = temp > res2 ? temp : res2;
        res1 = res2;
        res2 = res;
    }
    return res;  
}

 

LeetCode198题(C语言)

原文:https://www.cnblogs.com/xie213/p/14835733.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!