1. 程式人生 > 其它 >藍橋杯每日一題1.12 2017省賽A組10.油漆面積[矩形面積並][小資料暴力]

藍橋杯每日一題1.12 2017省賽A組10.油漆面積[矩形面積並][小資料暴力]

技術標籤:LeetCodeleetcode

LeetCode 7.整數反轉


資料結構學的很菜,還在慢慢重新學,學會了會更新更好的演算法滴

題目:

給你一個 32 位的有符號整數 x ,返回 x 中每位上的數字反轉後的結果。
如果反轉後整數超過 32 位的有符號整數的範圍 [−231, 231 − 1] ,就返回 0。
假設環境不允許儲存 64 位整數(有符號或無符號)。
提示:
-2 ^31 <= x <= 2 ^31 - 1
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/reverse-integer

著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

暴力C語言迴圈:

思路分析:

  1. 根據提示可知,本題如果設定int型,將會出現溢位問題,所以使用long
  2. 題目提示了資料的範圍,因此需要判斷傳入資料的長度
  3. 利用取餘和整除來得到每一位數字

實現:

#include<math.h>
int reverse(int x){
    long num = 0;
    while(x!=0){
        num = num * 10;
        num = num + x % 10;
        x = x / 10;
        }
    if(num< -pow(2, 31) || num>pow(2, 31)-1){
        return 0;
    }
    else{      
        return num;
    }
}

結果:

在這裡插入圖片描述
可見,結果很垃圾。

進階版:

等我學習之後再更新…