leetcode 1262 可被三整除的最大和

2021-10-25 08:41:55 字數 497 閱讀 4153

一道動態規劃的題,設乙個dp陣列。

有三種狀態,對0取余為0,1,2 。

求每個陣列元素對0取餘的值,並動態更新dp陣列。

例如:0的dp陣列+取余為0的還是0

0的dp陣列+取余為1的是1

0的dp陣列+取余為2的是2.

這裡有一點需要注意,即0,1,2三種情況的初始化。

0的陣列可以直接初始化為0,而1和2的陣列都需要初始化為乙個很小的值(即乙個絕對值比較大的負數),這是因為不能讓1和2的陣列加上前面的可被3整除的數而對0的陣列產生影響

如果1和2的陣列初始化為0或者比較小的負數,就會在後面max判斷中對0陣列產生一些影響,使結果錯誤。所以一定要把他們賦很小的初值,使得直到陣列**現餘數為1或2的元素,1和2的陣列才會被更新為正數。

class solution

else if(nums[i]%31)

else

}result=dp[n][0];

return result;}};

Leetcode 1262 可被三整除的最大和

題目 給你乙個整數陣列 nums,請你找出並返回能被三整除的元素最大和。示例 1 輸入 nums 3,6,5,1,8 輸出 18 解釋 選出數字 3,6,1 和 8,它們的和是 18 可被 3 整除的最大和 這道題是第163周競賽的一道題目,難度中等,邊學別人的解題方法,邊記錄吧!方案一 不妨設dp...

1262 可被三整除的最大和

給你乙個整數陣列 nums,請你找出並返回能被三整除的元素最大和。示例 1 輸入 nums 3,6,5,1,8 輸出 18 解釋 選出數字 3,6,1 和 8,它們的和是 18 可被 3 整除的最大和 示例 2 輸入 nums 4 輸出 0 解釋 4 不能被 3 整除,所以無法選出數字,返回 0。示...

1262 可被三整除的最大和

給你乙個整數陣列 nums,請你找出並返回能被三整除的元素最大和。示例 1 輸入 nums 3,6,5,1,8 輸出 18 解釋 選出數字 3,6,1 和 8,它們的和是 18 可被 3 整除的最大和 示例 2 輸入 nums 4 輸出 0 解釋 4 不能被 3 整除,所以無法選出數字,返回 0。示...