3. 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
第一次錯誤答案:自己的解答直接忽略了負號和溢位的情況,假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231, 231 − 1]。請根據這個假設,如果反轉後整 數溢位那麼就返回 0。
第二次錯誤答案:先利用str()函式將整數轉化為字串,然後反轉,再利用int()函式將字串轉化為整型,最後判斷數值是否溢位。
x<0時,字串擷取的方法不對
注:
python中字串切片方法
字串[開始索引:結束索引:步長]一種正確解答:去符號->翻轉數字順序->算出數字->新增符號->判斷是否溢位->輸出切取字串為開始索引到結束索引-1內的字串
步長不指定時步長為1 字串[開始索引:結束索引]
1class
solution:
2def
reverse(self, x):
3 result_list =
4 i =05#
判斷x的正負,若為負則去掉符號
6if x<0:
7 num = (-1)*x
8else
:9 num =x
1011
#將數字翻轉
(注:// 為整數的除法;
pow()方法返回 xy(x的y次方) 的值。)
mysql 簡單練習題
create table student id int,name varchar 20 chinese float,english float,math float insert into student id,name,chinese,english,math values 1,張小明 89,78...
練習題目2
1 將陣列a中的內容和陣列b中的內容進行交換 陣列一樣大 思路 新建乙個陣列作為中間陣列進行交換.如下 2 計算1 1 1 2 1 3 1 4 1 5 1 99 1 100的值.思路 通過每一輪迴圈給分子乘以 1來控制加數的正負號,計算出和.如下 3 編寫程式數一下1到199的所有整數 現過多少次數...
程式練習題 2
考慮如下的序列生成演算法 從整數 n 開始,如果 n 是偶數,把它除以 2 如果 n 是奇數,把它乘 3 加1。用新得到的值重複上述步驟,直到 n 1 時停止。例如,n 22 時該演算法生成的序列是 22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1。人們猜想 沒有...