將數字轉化成字串,然後再轉化成列表,利用列表的反轉函式進行反轉,最後轉換回數字
class
solution
(object):
defreverse
(self, x)
:"""
:type x: int
:rtype: int
"""isneg=
false
if x<0:
isneg =
true
x =-x
reverse_x_list=
list
(str
(x))
reverse_x_list.reverse(
) reverse_x_str =
"".join(reverse_x_list)
reverse_x =
int(reverse_x_str)
if isneg:
reverse_x =
-reverse_x
if reverse_x<
-pow(2
,31)or reverse_x>
pow(2,
31)-1
:return
0return reverse_x
通常情況下,羅馬數字中小的數字在大的數字的右邊。
因此先處理羅馬數字中小的數字在大的數字的左邊的特例,然後再針對普通情況進行處理。
class
solution
(object):
defromantoint
(self, s)
:"""
:type s: str
:rtype: int
"""num =
0 s_list =
list
(s)for i in
range
(len
(s_list)-1
):if s_list[i]
=='i'
:if s_list[i+1]
=='v'
: num = num+
4 s_list[i]
, s_list[i+1]
=none
,none
elif s_list[i+1]
=='x'
: num = num +
9 s_list[i]
, s_list[i+1]
=none
,none
if s_list[i]
=='x'
:if s_list[i+1]
=='l'
: num = num+
40 s_list[i]
, s_list[i+1]
=none
,none
elif s_list[i+1]
=='c'
: num = num +
90 s_list[i]
, s_list[i+1]
=none
,none
if s_list[i]
=='c'
:if s_list[i+1]
=='d'
: num = num+
400 s_list[i]
, s_list[i+1]
=none
,none
elif s_list[i+1]
=='m'
: num = num +
900 s_list[i]
, s_list[i+1]
=none
,none
for i in
range
(len
(s_list)):
if s_list[i]
=='i'
: num = num +
1if s_list[i]
=='v'
: num = num +
5if s_list[i]
=='x'
: num = num +
10if s_list[i]
=='l'
: num = num +
50if s_list[i]
=='c'
: num = num +
100if s_list[i]
=='d'
: num = num +
500if s_list[i]
=='m'
: num = num +
1000
return num
模擬加法進製的過程,從低位往高位進製。
class
solution
(object):
defplusone
(self, digits)
:"""
:type digits: list[int]
:rtype: list[int]
"""#不包括digits[0]
for i in
range
(len
(digits)-1
,0,-
1):if digits[i]!=9
: digits[i]
=digits[i]+1
return digits
else
: digits[i]=0
if digits[0]
!=9: digits[0]
= digits[0]
+1return digits
digits[0]
=0digits.insert(0,
1)return digits
演算法第二週作業01
在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。對於左上角的元素 array i j 其中 i 0 j array 0 length 它下方的數值都比它大 就是說它所在列中是最大的 ...
演算法第二週作業04
乙隻青蛙一次可以跳上1級台階,也可以跳上2級 它也可以跳上n級。求該青蛙跳上乙個n級的台階總共有多少種跳法。solutions 青蛙要想跳到target級台階,她可以從第0個台階直接 一次 跳到target級,或者從第1級台階直接跳到target級,或者直接從第target 1級台階直接跳到targ...
第二週作業
實驗作業 1.編寫調式執行第乙個c 程式,要求輸出你的班級 姓名和學號 2.輸入課本例題1.2,除錯執行程式,並分析程式。3.分析程式中哪些是識別符號,哪些是關鍵字。4.回答什麼是程式 工程,原始檔 目標檔案 執行檔案 編譯預處理 名字空間 函式.主函式 功能 顯示輸出班級 姓名 學號 includ...