From d615797afbcd62194c176d27b52e8fdd135d05c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=97=BC=ED=98=9C=EC=A0=95?= <122238744+cyzlcyzl@users.noreply.github.com> Date: Fri, 4 Sep 2026 17:26:53 +0900 Subject: [PATCH] Create 3982. Sum of Integers with Maximum Digit Range.java --- ...of Integers with Maximum Digit Range.java" | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 "leetcode3/\354\227\274\355\230\234\354\240\225/3982. Sum of Integers with Maximum Digit Range.java" diff --git "a/leetcode3/\354\227\274\355\230\234\354\240\225/3982. Sum of Integers with Maximum Digit Range.java" "b/leetcode3/\354\227\274\355\230\234\354\240\225/3982. Sum of Integers with Maximum Digit Range.java" new file mode 100644 index 00000000..af5014b8 --- /dev/null +++ "b/leetcode3/\354\227\274\355\230\234\354\240\225/3982. Sum of Integers with Maximum Digit Range.java" @@ -0,0 +1,31 @@ +// O(n) + +class Solution { + public int maxDigitRange(int[] nums) { + int n = nums.length; + int[] range = new int[n]; + int maxRange = -1; + + for (int i = 0; i < n; i++) { + int num = nums[i]; + int maxDigit = -1, minDigit = -1; + if (num == 0) { + maxDigit = minDigit = 0; + } + while (num > 0) { + int digit = num % 10; + num /= 10; + if (maxDigit == -1 || digit > maxDigit) maxDigit = digit; + if (minDigit == -1 || digit < minDigit) minDigit = digit; + } + range[i] = maxDigit - minDigit; + maxRange = Math.max(maxRange, range[i]); + } + + int sum = 0; + for (int i = 0; i < n; i++) { + if (range[i] == maxRange) sum += nums[i]; + } + return sum; + } +}