3300. Minimum Element After Replacement With Digit Sum
You are given an integer array nums.
You replace each element in nums with the sum of its digits.
Return the minimum element in nums after all replacements.
Example 1:
Input: nums = [10,12,13,14]
Output: 1
Explanation:
nums becomes [1, 3, 4, 5] after all replacements, with minimum element 1.
Example 2:
Input: nums = [1,2,3,4]
Output: 1
Explanation:
nums becomes [1, 2, 3, 4] after all replacements, with minimum element 1.
Example 3:
Input: nums = [999,19,199]
Output: 10
Explanation:
nums becomes [27, 10, 19] after all replacements, with minimum element 10.
Constraints:
1 <= nums.length <= 1001 <= nums[i] <= 104
Solution:
class Solution {
public int minElement(int[] nums) {
int result = Integer.MAX_VALUE;
for (int i = 0; i < nums.length; i++){
int cur = nums[i]; //999
int sum = 0; // 27
while(cur != 0){
sum = sum + cur % 10; //999 % 10 = 9 // 9 9
cur = cur /10; // 990/ 10 = 99 // 9 =0
}
nums[i] = sum;
result = Math.min(result, nums[i]);
}
return result;
}
}
// TC: O(n)
// SC: O(1)