Skip to content

Commit 1593f6c

Browse files
authored
feat: add solutions to lc problem: No.1262 (#866)
No.1262.Greatest Sum Divisible by Three
1 parent efb9582 commit 1593f6c

File tree

4 files changed

+63
-4
lines changed

4 files changed

+63
-4
lines changed

solution/1200-1299/1262.Greatest Sum Divisible by Three/README.md

+21-2
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,34 @@
5353
<!-- 这里可写当前语言的特殊实现逻辑 -->
5454

5555
```python
56-
56+
class Solution:
57+
def maxSumDivThree(self, nums: List[int]) -> int:
58+
dp = [0] * 3
59+
for v in nums:
60+
a, b, c = dp[0] + v, dp[1] + v, dp[2] + v
61+
dp[a % 3] = max(dp[a % 3], a)
62+
dp[b % 3] = max(dp[b % 3], b)
63+
dp[c % 3] = max(dp[c % 3], c)
64+
return dp[0]
5765
```
5866

5967
### **Java**
6068

6169
<!-- 这里可写当前语言的特殊实现逻辑 -->
6270

6371
```java
64-
72+
class Solution {
73+
public int maxSumDivThree(int[] nums) {
74+
int[] dp = new int[3];
75+
for (int v : nums) {
76+
int a = dp[0] + v, b = dp[1] + v, c = dp[2] + v;
77+
dp[a % 3] = Math.max(dp[a % 3], a);
78+
dp[b % 3] = Math.max(dp[b % 3], b);
79+
dp[c % 3] = Math.max(dp[c % 3], c);
80+
}
81+
return dp[0];
82+
}
83+
}
6584
```
6685

6786
### **...**

solution/1200-1299/1262.Greatest Sum Divisible by Three/README_EN.md

+21-2
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,32 @@
4545
### **Python3**
4646

4747
```python
48-
48+
class Solution:
49+
def maxSumDivThree(self, nums: List[int]) -> int:
50+
dp = [0] * 3
51+
for v in nums:
52+
a, b, c = dp[0] + v, dp[1] + v, dp[2] + v
53+
dp[a % 3] = max(dp[a % 3], a)
54+
dp[b % 3] = max(dp[b % 3], b)
55+
dp[c % 3] = max(dp[c % 3], c)
56+
return dp[0]
4957
```
5058

5159
### **Java**
5260

5361
```java
54-
62+
class Solution {
63+
public int maxSumDivThree(int[] nums) {
64+
int[] dp = new int[3];
65+
for (int v : nums) {
66+
int a = dp[0] + v, b = dp[1] + v, c = dp[2] + v;
67+
dp[a % 3] = Math.max(dp[a % 3], a);
68+
dp[b % 3] = Math.max(dp[b % 3], b);
69+
dp[c % 3] = Math.max(dp[c % 3], c);
70+
}
71+
return dp[0];
72+
}
73+
}
5574
```
5675

5776
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution {
2+
public int maxSumDivThree(int[] nums) {
3+
int[] dp = new int[3];
4+
for (int v : nums) {
5+
int a = dp[0] + v, b = dp[1] + v, c = dp[2] + v;
6+
dp[a % 3] = Math.max(dp[a % 3], a);
7+
dp[b % 3] = Math.max(dp[b % 3], b);
8+
dp[c % 3] = Math.max(dp[c % 3], c);
9+
}
10+
return dp[0];
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Solution:
2+
def maxSumDivThree(self, nums: List[int]) -> int:
3+
dp = [0] * 3
4+
for v in nums:
5+
a, b, c = dp[0] + v, dp[1] + v, dp[2] + v
6+
dp[a % 3] = max(dp[a % 3], a)
7+
dp[b % 3] = max(dp[b % 3], b)
8+
dp[c % 3] = max(dp[c % 3], c)
9+
return dp[0]

0 commit comments

Comments
 (0)