精華區beta Marginalman 關於我們 聯絡資訊
家人們 我這次3000名 徽章++ q1 把日期的字串 變成 二進位的字串 思路 照做 ```cpp class Solution { public: string convertDateToBinary(string date) { int a = stoi(date.substr(0,4)); int b = stoi(date.substr(5,2)); int c = stoi(date.substr(8,2)); string res ; string tmp; while(a>0) { tmp.push_back((a&1)+'0'); a>>=1; } for(int i = tmp.size()-1 ; i >= 0 ; i --) { res.push_back(tmp[i]); } tmp.clear(); res.push_back('-'); while(b>0) { tmp.push_back((b&1)+'0'); b>>=1; } for(int i = tmp.size()-1 ; i >= 0 ; i --) { res.push_back(tmp[i]); } tmp.clear(); res.push_back('-'); while(c>0) { tmp.push_back((c&1)+'0'); c>>=1; } for(int i = tmp.size()-1 ; i >= 0 ; i --) { res.push_back(tmp[i]); } tmp.clear(); return res; } }; ``` q2 有一串數字的陣列還有一個數字d d是他可以增加的範圍 對於陣列每個數字 在他可以增加的範圍裡 選一個數字當作差距 這個數字要和其他所有數字的差距選出最小的差距 請問有最大化最小差距 的 那個差距數字 是什麼 思路 這題目有點複雜 如果把數字sort 可以想像成你在上一個樓梯 每次都跨k個高度 跨在那些數字上面 跨不過沒關係 但是一定要在那個數字的範圍以下 然後最大的k要找的話 那個k就必須對每個數字來說 都可以在那個範圍以下 然後就用二分搜去試試看k的可能數字 然後 對ㄚ= = 幹你娘好難講 這題他媽的int會overflow 什麼傻逼設計 害我吃處罰 操你媽白癡出題原 ```cpp class Solution { public: vector<long long> paper; int n ; int pm ; bool find(long long k) { long long p = paper[0]; for(int i = 1 ; i < n ; i ++) { p += k; if(paper[i] + pm < p )return false; p = max(p , paper[i]); } return true; } int maxPossibleScore(vector<int>& start, int d) { n = start.size(); pm = d; sort(start.begin() , start.end() ); paper.resize(n); for(int i =0 ; i < n ; i ++) { paper[i] = start[i]; } long long l = 0; long long r = start[n-1] + d; while(l<=r) { long long m = (l+r)/2; if(find(m)) { l = m+1; } else { r = m-1; } } int res = r; return res; } }; ``` q3 你要照順序走到終點 不可以回頭 你在i往j走時 可以加分 (i-j)*nums[i] 分 怎麼走最高分 思路 其實你換個角度想 你走到一個地方往回看 你要拿的數字一定是選最大的數字 因為最大的數字直接往你這格走 就會增加最多 然後再回頭看 幹我只要紀錄出現過的最大的不就好了 然後就對了 ```cpp class Solution { public: long long findMaximumScore(vector<int>& nums) { long long res = 0; int n = nums.size(); int p = nums[0]; for(int i = 1 ; i < n ; i ++) { res += p; p = max(nums[i],p); } return res; } }; ``` q4 不會 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.22.67 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1725771695.A.32C.html
sustainer123: 我11000 幹 09/08 13:09
Furina: 我好崇拜你們 09/08 13:12
sixB: 你好厲害 09/08 13:12
wu10200512: 你好強 09/08 13:15
dont: 大師 09/08 13:30