自用筆記30 int等範圍

2021-10-09 17:53:07 字數 1337 閱讀 1047

你總共有 n 枚硬幣,你需要將它們擺成乙個階梯形狀,第 k 行就必須正好有 k 枚硬幣。

給定乙個數字 n,找出可形成完整階梯行的總行數。

n 是乙個非負整數,並且在32位有符號整型的範圍內。

示例 1:

n = 5

硬幣可排列成以下幾行:

¤¤ ¤

¤ ¤因為第三行不完整,所以返回2.

示例 2:

n = 8

硬幣可排列成以下幾行:

¤¤ ¤

¤ ¤ ¤

¤ ¤因為第四行不完整,所以返回3.

int

arrangecoins

(int n)

return i-2;

}

還可以進一步優化,因為從i=1開始尋找太耗時間了,可以從i=sqrt(n)+1開始查詢使(i+1)*i/2的值大於n時i的值:

int

arrangecoins

(int n)

return0;

}

另外題目是「32位有符號整型的範圍」,用int指定溢位,我一開始用的unsigned int,還可以用double

char -128 ~ +127 (1 byte)

short -32768 ~ + 32767 (2 bytes)

unsigned short 0 ~ 65536 (2 bytes)

int -2147483648 ~ +2147483647 (4 bytes)(-231-1~231-1)

unsigned int 0 ~ 4294967295 (4 bytes)

long (-263-1~263-1)

long long -9223372036854775808 ~ +9223372036854775807 (8 bytes)

double 1.7 * 10^308 (8 bytes)

unsigned int 0~4294967295(0~232-1)

long long的最大值:9223372036854775807

long long的最小值:-9223372036854775808

unsigned long long的最大值:18446744073709551615

__int64的最大值:9223372036854775807

__int64的最小值:-9223372036854775808

unsigned __int64的最大值:18446744073709551615

GIT自用筆記

分為工作區,暫存區,倉庫。一步步儲存。cat 檔名 檢視檔案內容 rm 檔名 刪除檔案 cd 資料夾 開啟資料夾 ls 列出資料夾下的目錄git config global user.name your name git config global user.email email example....

自用筆記37 白給

給你乙個僅由數字 6 和 9 組成的正整數 num。你最多只能翻轉一位數字,將 6 變成 9,或者把 9 變成 6 請返回你可以得到的最大數字。示例 1 輸入 num 9669 輸出 9969 解釋 改變第一位數字可以得到 6669 改變第二位數字可以得到 9969 改變第三位數字可以得到 9699...

自用筆記 揹包系統

前提的知識 ugui unity框架 jason配置表 file檔案儲存和讀取 需求分析 揹包中顯示玩家擁有的物品資訊 需要顯示資訊就需要讀取資料 資料從 來?配置表 jason 玩家資訊 檔案讀取file jason 獲取資料到面板上 ugui c 的邏輯 基本知識點 這裡的主題是為了講揹包,所以...