Arts·St 挑戰二週目
阿新 • • 發佈:2018-11-26
1.Algorithm:LeetCode刷題
Topic:整數反轉
Level:easy
public class Test4 {
/**
* 給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉
* 示例 1:
* 輸入: 123
* 輸出: 321
*
* 示例 2:
* 輸入: -123
* 輸出: -321
*
* 示例 3:
* 輸入: 120
* 輸出: 21
*
* 注意:
* 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−2^31, 2^31 − 1]。
* 請根據這個假設,如果反轉後整數溢位那麼就返回 0。
*/
public static int reverse(int x) {
int rev = 0;
int minNum = -1<<31;
int maxNum =1<<31-1;
while (x != 0) {
//出棧
int pop = x % 10;
x /= 10;
//判斷條件,考慮入棧操作及邊界條件
if (rev > Integer.MAX_VALUE/10 || (rev == Integer.MAX_VALUE / 10 && pop > 7)) return 0;
if (rev < Integer.MIN_VALUE/10 || (rev == Integer.MIN_VALUE / 10 && pop < -8)) return 0;
//入棧
rev = rev * 10 + pop;
}
return rev;
}
}
2.Review:本週閱讀----《Procrastination Sucks—So Here’s The “Eat That Frog” Way to Powerful Productivity(拒絕拖延,今日吃蛙)》
4.Share:分享一篇文章----《基於redis的分散式鎖》
梳理一遍關於分散式鎖的一些內容,實現可能不侷限於redis