在網上看到的題目,沒事拿來練練手,比較簡單。
強迫症,把前兩題給ps掉了,哈哈~~
咋一看這道題,總感覺在考察我們資料結構,比如構造乙個多邊形,算出面積,然後減去台階所在空間,好像也不夠巧妙吧。算了,用最直觀的方式解一下(有大神看到,記得指點一二):
(1) 算出最高的台階數;
// 找出最高的台階
intmaxvalinsteps
(uint32_t
*steparr,
uint32_t nsize)
return maxval;
}
(2)計算第n層時,把此層第乙個台階,和最後乙個不低於n的台階,填充中間的凹陷部分;
// 計算第n層的積水量
intculnthlevelwaters
(uint32_t
*steparr,
uint32_t nsize,
uint32_t n)
}// 找最後乙個台階
for(
uint32_t i = nsize -
1; i >=
0; i--)}
// 填充中間的凹陷部分
for(
uint32_t i = bpos; i <= epos; i++)}
return nwaters;
}
(3) 從1開始,依次填充每一層,累加的積水量;
// 計算台階積水量
intculfootstepwaters
(uint32_t
*steparr,
uint32_t nsize)
return sumwaters;
}
這裡偷下懶,直接構造資料執行了哈,執行結果:6
int
main
(int agrc,
char
**agrv)
;printf
("sum-water = %d\n"
,culfootstepwaters
(steparr,
sizeof
(steparr)
/sizeof
(uint32_t))
);return0;
}
位元組跳動筆試題
要求 輸入陣列長度,然後輸入陣列中的各個元素,最後輸入整數k,要求找出陣列中三個元素小於k的三個元素,例如 輸入陣列長度 6 輸入陣列元素 2 0 1 2 3 6 輸出三元組 共4個 下面給出思路和 思路 1 獲得使用者輸入的陣列長度n,若n不為整數,則提示錯誤。2 建立陣列。3 獲得使用者輸入的陣...
位元組跳動2019筆試題
小明國慶節來北京玩,北京有n個景點,第 i 個景點的評分用a i 表示,兩個景點i,j之間的距離為j i j i 小明一天只能遊玩兩個景點,我們認為總評分是兩個景點的評分之和減去兩個景點之間的距離,即為a i a j i j。那麼小明選擇哪兩個景點才會總評分最大呢?輸入格式 第一行包含整數n。第二行...
位元組跳動歷屆筆試題(1)
有三隻球隊,每只球隊編號分別為球隊1,球隊2,球隊3,這三隻球隊一共需要進行 n 場比賽。現在已經踢完了k場比賽,每場比賽不能打平,踢贏一場比賽得一分,輸了不得分不減分。已知球隊1和球隊2的比分相差d1分,球隊2和球隊3的比分相差d2分,每場比賽可以任意選擇兩隻隊伍進行。求如果打完最後的 n k 場...