2023年7月20日 星期四

[665] Non-decreasing Array

判斷是不是只要改一個數字,就可以變成非遞減數列
乍看之下很簡單,不過當趨勢改變發生的時候,需要判斷是改哪一個,不然上上下下很煩啊XD
是個一開始想的太簡單,後來又想的太複雜的題目QQ

bool checkPossibility(int* nums, int numsSize){
bool change=false;
for (int i=0;i<numsSize-1;i++)
{
if (nums[i]>nums[i+1])
{
if (change)
return false;
else
{
change=true;
if (i>0)
{
#if 0
if (nums[i+1]>=nums[i-1]) //change nums[i]
continue;
else //change nums[i+1]
nums[i+1]=nums[i];
#endif
if (nums[i+1]< nums[i-1])
nums[i+1]=nums[i];
}
}
}
}
return true;
} 

沒有留言:

張貼留言