楼主: pikamiao
跳转到指定楼层
上一主题 下一主题
收起左侧

Citadel的变态OA 欢迎大家讨论

🔗
pkk5488 2018-9-8 23:41:33 | 只看该作者
全局:
刚写完凉了,楼主一定和我一样没仔细读题。第二题是一天只能买1share OR 卖any share,应该是不能同时进行的
回复

使用道具 举报

🔗
Anakin09 2018-9-9 00:07:08 | 只看该作者
全局:
pkk5488 发表于 2018-9-8 23:41
刚写完凉了,楼主一定和我一样没仔细读题。第二题是一天只能买1share OR 卖any share,应该是不能同时进行 ...

C家据说sde new grad一年招个位数,除了return 的intern,所以move on就好
回复

使用道具 举报

🔗
pkk5488 2018-9-9 00:11:23 | 只看该作者
全局:
Anakin09 发表于 2018-9-9 00:07
C家据说sde new grad一年招个位数,除了return 的intern,所以move on就好

噗 好的 就算是练练手了
回复

使用道具 举报

🔗
anoyanoy 2018-9-9 03:42:06 | 只看该作者
全局:
第二题我也是和楼主一样的想法
第三题好像不是太难 主要是遍历的方式已经限制了 哪个child小就先放它就好了  还是我想的太简单了?
回复

使用道具 举报

全局:
第二题我感觉就是找最大值。。

第三题憋了半天也没憋出来。。爆炸了

https://pastebin.com/16bDzZP7
回复

使用道具 举报

无效楼层,该帖已经被删除
无效楼层,该帖已经被删除
🔗
randocal 2018-9-15 05:52:29 | 只看该作者
全局:
有人可以解释E1 E2问题的要求吗?
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
pujiangji5 2018-9-15 07:11:44 | 只看该作者
全局:
我也只做出来第一题,心态爆炸了。。。不过我后来想了下第二题,楼主你看看这个行不行?暂时只能想出这个时间复杂度的解法了。如果你想交流,可以发我email: davechan813@gmail.com. 谢谢啦!

  1. #include <iostream>

  2. int helper(const vector<int>& prices, int l, int maxIndex) {
  3.     int res = 0;
  4.     for (int i = l; i < maxIndex; i++) res += max(0, prices[maxIndex] - prices[i]);
  5.     return res;
  6. }

  7. int maxProfit(const vector<int>& prices, int l, int r) {
  8.     if (l >= r) return 0;
  9.    
  10.     int maxPrice = INT_MIN, maxIndex = -1;
  11.     for (int i = l; i <= r; i++)
  12.         if (prices[i] > prices[i-1] && prices[i] > maxPrice) {
  13.             maxPrice = prices[i];
  14.             maxIndex = i;
  15.         }
  16.         
  17.     if (maxIndex == l) return 0;
  18.     return helper(prices, l, maxIndex) + maxProfit(prices, maxIndex+1, r);
  19. }

  20. int maxProfit(const vector<int>& prices) {
  21.     return maxProfit(prices, 0, prices.size()-1);
  22. }

  23. int main() {
  24.     // vector<int> prices = {6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4}; // 16
  25.     // vector<int> prices = {7, 8, 10, 3, 2, 1, 0, 1, 2, 3, 4}; // 21
  26.     // vector<int> prices = {5, 3, 2}; // 0
  27.     // vector<int> prices = {1, 2, 100}; // 197
  28.     vector<int> prices = {1, 3, 1, 2}; // 3
  29.     cout<<maxProfit(prices)<<endl;
  30. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表