題目描述:
給你乙個整數 num 。你可以對它進行如下步驟恰好 兩次 :
選擇乙個數字 x (0 <= x <= 9).
選擇另乙個數字 y (0 <= y <= 9) 。數字 y 可以等於 x 。
將 num 中所有出現 x 的數字都用 y 替換。
得到的新的整數 不能 有前導 0 ,得到的新整數也 不能 是 0 。
令兩次對 num 的操作得到的結果分別為 a 和 b 。
請你返回 a 和 b 的 最大差值 。
示例 1:
輸入:num = 555
輸出:888
解釋:第一次選擇 x = 5 且 y = 9 ,並把得到的新數字儲存在 a 中。
第二次選擇 x = 5 且 y = 1 ,並把得到的新數字儲存在 b 中。
現在,我們有 a = 999 和 b = 111 ,最大差值為 888
示例 2:
輸入:num = 9
輸出:8
解釋:第一次選擇 x = 9 且 y = 9 ,並把得到的新數字儲存在 a 中。
第二次選擇 x = 9 且 y = 1 ,並把得到的新數字儲存在 b 中。
現在,我們有 a = 9 和 b = 1 ,最大差值為 8
示例 3:
輸入:num = 123456
輸出:820000
示例 4:
輸入:num = 10000
輸出:80000
示例 5:
輸入:num = 9288
輸出:8700
1 <= num <= 10^8
方法1:
(1)先將原數進行分解,獲得各個位上的數字;
(2)分別找出最大數和最小數,相減即可;
class
solution
//找出最大數字,從最高位開始,找到非9的數字,對應的改為9
int cur=res.
back()
;for
(int i=res.
size()
-1;i>=0;
--i)
}int num1=0;
for(
int i=res.
size()
-1;i>=0;
--i)
else
}//找出最小數字
int num2=0;
if(res.
back()
==1)}
for(
int i=res.
size()
-1;i>=0;
--i)
else}}
else
else}}
return num1-num2;}}
;
乙個能改變你一生的故事
一天,乙個農民的驢子掉到了枯井裡。那可憐的驢子在井裡悽慘地叫了好幾個鐘頭,農民在井口急得團團轉,就是沒辦法把它救起來。最後,他斷然認定 驢子已經老了,這口枯井也該填起來了,不值得花這麼大的精力去救驢子。農民把所有的鄰居都請來幫他填井。大家抓起鐵鍬,開始往井裡填土。驢子很快就意識到發生了什麼事,起初,...
判斷乙個整數是否能被11整除
如果乙個整數在整型範圍內,直接用求餘符號就能搞定,但是如果這個整數比較大就要另尋他路了。有一種演算法叫做 奇偶位差法 意思就是在奇數字上的數字和與偶數字上的數字和做差,如果這個差的絕對值能被11整除,那麼這個數字就可以被11整除。include include includeint main if ...
得到乙個類的class物件
1.class的forname 方法的返回值就是class型別 2.class 類名 clazz 類名.class,例子 classclazz student.class 3.object 類中有乙個名為getclass的成員方法,返回的是物件執行時類的class物件。student stu new...