leetcode-213-打家劫舍II-C语言

int find(int *arr, int index){
    int i, mx=INT_MIN;
    if(index<0) return 0;
    for(i=0; i mx)
            mx = arr[i];
    }
    return mx;
}

int rob(int* nums, int len){
    if(!nums || !len) return 0;
    int i, j, max1, max2;
    int arr[len];
    
    if(len == 1) return nums[0];
    
    //printf("test\n");
    arr[0] = 0;
    arr[1] = nums[1];
    for(i=2; i arr[len-2] ? arr[len-1] :arr[len-2];
    //printf("test\n");
    arr[0] = nums[0];
    arr[1] = 0;
    for(i=2; i=0)
        max2 = arr[len-2] > arr[len-3] ? arr[len-2] : arr[len-3]; else
        max2 = arr[len-2];

    for(i=0; i max2 ? max1 : max2;
    
}

你可能感兴趣的:(LeetCode)