Skip to content

Latest commit

 

History

History
53 lines (46 loc) · 1.36 KB

File metadata and controls

53 lines (46 loc) · 1.36 KB

LeetCode Records - Question 1881 Maximum Value after Insertion

Attempt 1: Compare each digit in the string

class Solution {
    public String maxValue(String n, int x) {
        char[] arr = n.toCharArray();
        StringBuilder stringBuilder = new StringBuilder();
        char ch = (char)(x + '0');

        boolean isInserted = false;
        int i = 0;
        if (arr[0] == '-') {
            stringBuilder.append('-');
            i++;

            for (; i < arr.length; i++) {
                if (ch < arr[i]) {
                    stringBuilder.append(ch);
                    isInserted = true;
                    break;
                } else {
                    stringBuilder.append(arr[i]);
                }
            }
        } else {
            for (; i < arr.length; i++) {
                if (ch > arr[i]) {
                    stringBuilder.append(ch);
                    isInserted = true;
                    break;
                } else {
                    stringBuilder.append(arr[i]);
                }
            }
        }

        for (; i < arr.length; i++) {
            stringBuilder.append(arr[i]);
        }

        if (!isInserted) {
            stringBuilder.append(ch);
        }

        return stringBuilder.toString();
    }
}
  • Runtime: 21 ms (Beats: 31.58%)
  • Memory: 45.59 MB (Beats: 61.17%)