五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

python簡單實現(xiàn)整數(shù)反轉(zhuǎn)的畫解算法

發(fā)布日期:2022-02-01 16:01 | 文章來源:腳本之家

題目描述

給你一個 32 位的有符號整數(shù) x ,返回將 x 中的數(shù)字部分反轉(zhuǎn)后的結(jié)果。

如果反轉(zhuǎn)后整數(shù)超過 32 位的有符號整數(shù)的范圍 [−231, 231 − 1] ,就返回 0。

假設(shè)環(huán)境不允許存儲 64 位整數(shù)(有符號或無符號)。

示例 1:

輸入:x = 123

輸出:321

示例 2:

輸入:x = -123

輸出:-321

示例 3:

輸入:x = 120

輸出:21

示例 4:

輸入:x = 0
輸出:0

問題分析

首先我們想一下,怎么去反轉(zhuǎn)一個整數(shù)?

用棧?

或者把整數(shù)變成字符串,再去反轉(zhuǎn)這個字符串?

這兩種方式是可以,但并不好。

  • 實際上我們只要能拿到這個整數(shù)的 末尾數(shù)字 就可以了。
  • 以12345為例,先拿到5,再拿到4,之后是3,2,1,我們按這樣的順序就可以反向拼接處一個數(shù)字了
  • 也就能達(dá)到 反轉(zhuǎn) 的效果。

怎么拿末尾數(shù)字呢?

好辦,用取模運(yùn)算就可以了

  • 將12345 % 10 得到5,之后將12345 / 10
  • 將1234 % 10 得到4,再將1234 / 10
  • 將123 % 10 得到3,再將123 / 10
  • 將12 % 10 得到2,再將12 / 10
  • 將1 % 10 得到1,再將1 / 10

這么看起來,一個循環(huán)就搞定了,循環(huán)的判斷條件是x>0

但這樣不對,

  • 因為忽略了 負(fù)數(shù)
  • 循環(huán)的判斷條件應(yīng)該是while(x!=0),無論正數(shù)還是負(fù)數(shù),
  • 按照上面不斷的/10這樣的操作,最后都會變成0,所以判斷終止條件就是!=0
  • 有了取模和除法操作,對于像12300這樣的數(shù)字,也可以完美的解決掉了。

看起來這道題就這么解決了,但請注意,題目上還有這么一句

假設(shè)我們的環(huán)境只能存儲得下 32 位的有符號整數(shù),則其數(shù)值范圍為 [−2^31, 2^31 − 1]。

也就是說我們不能用long存儲最終結(jié)果,而且有些數(shù)字可能是合法范圍內(nèi)的數(shù)字,但是反轉(zhuǎn)過來就超過范圍了。

假設(shè)有1147483649這個數(shù)字,它是小于最大的32位整數(shù)2147483647的,

但是將這個數(shù)字反轉(zhuǎn)過來后就變成了9463847411,

這就比最大的32位整數(shù)還要大了,這樣的數(shù)字是沒法存到int里面的,所以肯定要返回0(溢出了)。

甚至,我們還需要提前判斷

上圖中,綠色的是最大32位整數(shù)

第二排數(shù)字中,橘子的是5,它是大于上面同位置的4,這就意味著5后跟任何數(shù)字,都會比最大32為整數(shù)都大。

所以,我們到【最大數(shù)的1/10】時,就要開始判斷了

  • 如果某個數(shù)字大于 214748364那后面就不用再判斷了,肯定溢出了。
  • 如果某個數(shù)字等于 214748364呢,這對應(yīng)到上圖中第三、第四、第五排的數(shù)字,
  • 需要要跟最大數(shù)的末尾數(shù)字比較,如果這個數(shù)字比7還大,說明溢出了。

對于負(fù)數(shù)也是一樣的

上圖中綠色部分是最小的32位整數(shù),同樣是在【最小數(shù)的 1/10】時開始判斷

  • 如果某個數(shù)字小于 -214748364說明溢出了
  • 如果某個數(shù)字等于 -214748364,還需要跟最小數(shù)的末尾比較,即看它是否小于8。

以上就是python簡單實現(xiàn)整數(shù)反轉(zhuǎn)的畫解算法的詳細(xì)內(nèi)容,更多關(guān)于python整數(shù)反轉(zhuǎn)的畫解算法的資料請關(guān)注本站其它相關(guān)文章!

國外穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部