/**
* Problem: LeetCode 3723 - Maximize Sum of Squares of Digits
* Difficulty: Medium
* Language: Java
* Author: CodeByTushu
*/
class Solution {
public String maxSumOfSquares(int num, int sum) {
if (sum > 9 * num) return "";
StringBuilder sb = new StringBuilder();
int remaining = sum;
for (int i = 0; i < num; i++) {
int d = Math.min(9, remaining);
sb.append(d);
remaining -= d;
}
return sb.toString();
}
}
"""
Problem: LeetCode 3723 - Maximize Sum of Squares of Digits
Difficulty: Medium
Language: Python
Author: CodeByTushu
"""
class Solution:
def maxSumOfSquares(self, num: int, sum: int) -> str:
if sum > 9 * num:
return ""
nines = sum // 9
rem = sum % 9
zeros = num - nines - (1 if rem > 0 else 0)
if rem > 0:
return "9" * nines + str(rem) + "0" * zeros
return "9" * nines + "0" * zeros
/**
* Problem: LeetCode 3723 - Maximize Sum of Squares of Digits
* Difficulty: Medium
* Language: C++
* Author: CodeByTushu
*/
#include <string>
#include <algorithm>
using namespace std;
/**
* Problem: LeetCode 3723 - Maximize Sum of Squares of Digits
* Difficulty: Medium
* Language: C++
* Author: CodeByTushu
*/
class Solution {
public:
string maxSumOfSquares(int num, int sum) {
if (sum > 9LL * num) return "";
string result = "";
result.reserve(num);
int remaining = sum;
for (int i = 0; i < num; i++) {
int d = min(9, remaining);
result.push_back('0' + d);
remaining -= d;
}
return result;
}
};
/**
* Problem: LeetCode 3723 - Maximize Sum of Squares of Digits
* Difficulty: Medium
* Language: JavaScript
* Author: CodeByTushu
*/
var maxSumOfSquares = function(num, sum) {
if (sum > 9 * num) return "";
const nines = Math.floor(sum / 9);
const rem = sum % 9;
const zeros = num - nines - (rem > 0 ? 1 : 0);
if (rem > 0) {
return "9".repeat(nines) + rem.toString() + "0".repeat(zeros);
}
return "9".repeat(nines) + "0".repeat(zeros);
};