??題目來源:
? ? ? ? leetcode題目,網址:2566. 替換一個數字后的最大差值 - 力扣(LeetCode)
解題思路:
? ? ? ?將從左到右第一個非 9 數字全部修改為 9 以得到最大值。將從左到右第一個數字全部修改為 0 以得到最小值,然后計算差值并返回即可。?
解題代碼:
class Solution {public int minMaxDifference(int num) {String res=Integer.toString(num);System.out.println(res);String max=getMax(res);String min=getMin(res);return Integer.parseInt(max)-Integer.parseInt(min);}public String getMin(String sb){StringBuffer res=new StringBuffer();char c=sb.charAt(0);for(int i=0;i<sb.length();i++){if(sb.charAt(i)==c){res.append('0');}else{res.append(sb.charAt(i));}}return res.toString();}public String getMax(String sb){StringBuffer res=new StringBuffer();char c=' ';for(int i=0;i<sb.length();i++){char temp=sb.charAt(i);if(c==' '){if(temp=='9'){res.append(temp);}else{c=temp;res.append('9');}}else{if(temp==c){res.append('9');}else{res.append(temp);}}}return res.toString();}
}
總結:
? ? ? ? 無官方題解。
? ? ? ? sneakily? ? ? ? adv.鬼鬼祟祟地