你總共有 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 的邏輯 基本知識點 這裡的主題是為了講揹包,所以...