📣 独立日限时特惠: VIP通行证立减$68
楼主: 神罗天征
跳转到指定楼层
上一主题 下一主题
收起左侧

Snapchat 面经请教

🔗
liurudahai 2016-11-14 03:17:51 | 只看该作者
全局:
geng77 发表于 2016-11-10 05:53
是的,就是把每个操作符当成是最后一次运算的符号,然后依次迭代左边和右边。
就是 input[0...k] op inp ...

这个不对吧,严格意义上来说每个操作符当做最后一次计算的符号,那左边和右边全部要用括号括起来,也就是要加两次括号
回复

使用道具 举报

🔗
liurudahai 2016-11-14 03:27:50 | 只看该作者
全局:
clxy2008 发表于 2016-11-3 10:29
这样行不行 比如   2+3/3-4 咱就用最笨的方法,对于每一个部分式 咱都求个值,因为evaluate  只是o(n) 所 ...

我觉得对每一个部分求值可以做到o(n^2),然后再从新遍历这个式子,还是o(n^2) 把
回复

使用道具 举报

🔗
liurudahai 2016-11-14 03:37:39 | 只看该作者
全局:
clxy2008 发表于 2016-11-3 10:29
这样行不行 比如   2+3/3-4 咱就用最笨的方法,对于每一个部分式 咱都求个值,因为evaluate  只是o(n) 所 ...

最后求值,就把那o(n^2)个值拿出来,其他的正常运算,正常的calculator运算时o(n) d的复杂度吧,要运算o(n^2)次,总共是o(n^3次)f复杂度
回复

使用道具 举报

🔗
liurudahai 2016-11-14 03:41:28 | 只看该作者
全局:
神罗天征 发表于 2016-11-5 04:28
原题是比如1 *( 2 + (8 / 4))这种,求结果,计算任意两个数字之间的结果是O(n ^ 3)吧,或者你是说先 ...

原题计算任意两个数字之间的结果o(n)可以搞定,因为可以记忆化计算,所以以一个起点开始,任意终点结束的所有组合结果可以在o(n)时间内算出来
回复

使用道具 举报

🔗
liurudahai 2016-11-14 03:43:03 | 只看该作者
全局:
liurudahai 发表于 2016-11-14 03:17
这个不对吧,严格意义上来说每个操作符当做最后一次计算的符号,那左边和右边全部要用括号括起来,也就是 ...

个人感觉BF已经最优没必要再用DP,各大公司现在都讲究要simplify,如果高阶解法没有优化的话,提倡用最简单易懂的,因为这样写代码别人也容易看懂,你不在了其他人要维护也很简单
回复

使用道具 举报

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

本版积分规则

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