213. House Robber II来啊接着抢劫


题目大概就是介个样子 ,然后我根据上次的基础改了一下,不是成环吗,所以得分第一个抢不抢
int rob(int* nums, int numsSize)
{

int money[2],max=0,maxx=0;
int t1=0;

if(numsSize>1)//当不只有一个的时候,分第一个抢不抢
{ if(t1==0)//第一个不抢
{
money[0]=0;
money[1]=0;
for(int t=1;t<numsSize;t++)//那就相当于house robber1的情况,不过起点后退了一个
{
int old=money[0];
if(money[0]>money[1])
money[0]=money[0];
else money[0]=money[1];
money[1]=old+nums[t];
}

if(money[0]>money[1])
max=money[0];
else max=money[1];
}

t1=1;

if(t1==1)//第一个放进去的时候,那最后一个肯定不能放
{
money[0]=nums[0];
money[1]=nums[0];
for(int t=2;t<numsSize-1;t++)//也就相当于house robber1的情况,不过是起点变成了第三个和终点变成了倒数第二个
{
int old2=money[0];
if(money[0]>money[1])
money[0]=money[0];
else money[0]=money[1];
money[1]=old2+nums[t];
}

if(money[0]>money[1])
maxx=money[0];
else maxx=money[1];
}
}

else //只有一个的时候,直接上啊
{
max=nums[0];
maxx=nums[0];
}


if(max<maxx)
max=maxx;
return max;

}
上面都是自己想的,没有上网查,但是要注意数字的变化,我就是老是漏了+1-1,然后通过不了,但后来改好后还是通过啦~

相关文章:

  • 2021-11-29
  • 2021-06-16
  • 2021-08-11
  • 2021-10-27
  • 2021-09-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-08
相关资源
相似解决方案