Easy
You are given two integers red
and blue
representing the count of red and blue colored balls. You have to arrange these balls to form a triangle such that the 1st row will have 1 ball, the 2nd row will have 2 balls, the 3rd row will have 3 balls, and so on.
All the balls in a particular row should be the same color, and adjacent rows should have different colors.
Return the maximum height of the triangle that can be achieved.
Example 1:
Input: red = 2, blue = 4
Output: 3
Explanation:
The only possible arrangement is shown above.
Example 2:
Input: red = 2, blue = 1
Output: 2
Explanation:
The only possible arrangement is shown above.
Example 3:
Input: red = 1, blue = 1
Output: 1
Example 4:
Input: red = 10, blue = 1
Output: 2
Explanation:
The only possible arrangement is shown above.
Constraints:
1 <= red, blue <= 100
@SuppressWarnings("java:S135")
public class Solution {
private int count(int v1, int v2) {
int ct = 1;
boolean flag = true;
while (true) {
if (flag) {
if (ct <= v1) {
v1 -= ct;
} else {
break;
}
} else {
if (ct <= v2) {
v2 -= ct;
} else {
break;
}
}
ct++;
flag = !flag;
}
return ct - 1;
}
public int maxHeightOfTriangle(int red, int blue) {
return Math.max(count(red, blue), count(blue, red));
}
}