用Fiverr修改留学文书求职简历,一亩三分地独家折扣码:FIVERR1P3A10
查看: 1079|回复: 12
收起左侧

热带雨林 哦欸

|只看干货
匿名用户-C7A  2022-8-10 00:25:14 |阅读模式
本楼: 👍   100% (2)
 
 
0% (0)   👎

2022(7-9月) 码农类General 本科 全职@Amazon - 网上海投 - 在线笔试  | 😃 Positive 🙂 EasyPass | 应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
贡献一个亚麻 哦欸 学生项目
第一题是给一个array[int] 找到那个index 使得index 前面的平均数和后面的平均数差值最小(平均数向下取整) 比如[1,3,2,3] retrun 2。


第二题是给一个arraylist<int> 你可以对这个array的某一个range的数加一个数值,然后使得这个array变成一个连续上升的array(也可以等于)也就是说array[i]>=array[i-1]
return 每次操作的加数的和,使得这个
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
果也是7
eg2. [3,2,1] return 2 eg3 [3,5,2,3] return 3

题目都很简单很快就做完了

评分

参与人数 4大米 +8 收起 理由
ivyandme + 5 欢迎分享你知道的情况,会给更多积分奖励!
刘鑫liuxin + 1 很有用的信息!
may2020 + 1 给你点个赞!
风月无情 + 1 给你点个赞!

查看全部评分


上一篇:买它 点面
下一篇:amazon oa 加拿大sde1
地里匿名用户
匿名用户-C7A  2022-8-11 12:37:45
本楼: 👍   100% (1)
 
 
0% (0)   👎
azeasbhahliuns 发表于 2022-8-9 20:56
请问楼主第二题的思考历程是怎样的。
是什么条件让您想到了这个方法

我觉得就是反复实验吧,从前面想着复炸就试着从后面来,然后就做出来了
回复

使用道具 举报

地里匿名用户
匿名用户-111  2022-8-10 08:01:10
本楼: 👍   0% (0)
 
 
0% (0)   👎
第二题的一个O(N)思路:

因为这道题只求加数的和,不在意加数被加了多少次,那么可以简化成每个从index i开始的加数都用在nums[i]和之后的每个数字。因为所有nums[i]之后的数字都加了同样的加数,所以不会改变是否连续上升的特性。constraint不太确定,但如果加数和不太大就不会integer overflow。

implemet的时候可以从index 1开始做一个linear pass,存总加数add和前一个数字prev,然后比较curr + add是否不小于prev。比如[3, 5, 2, 3]
i = 1: add = 0, prev = 3, curr = 5.
curr + add >= prev, therefore, prev = curr + add = 5.

i = 2: add = 0, prev = 5, curr = 2.
curr + add < prev, therefore, add = prev - (curr + add) = 3, prev = curr + add = 5.

i = 3: add = 3, prev = 5, curr = 3.
curr + add >= prev, therefore prev = curr + add = 8.

return add = 3.
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (8)
 
 
0% (0)    👎
匿名用户 发表于 2022-8-10 23:39
从3-8加5,然后6-8加5 答案是10 然后看从后往前找一遍也是,只有0比5小加5,然后3比8小加5答案也是10

但是345 + 5 后不是变成 8 9 10 了吗,然后 0 1 2 + 10 变成10 11 12
这样最终是 6 7 8 8 9 10 10 11 12
抱歉我可能太笨了
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   86% (39)
 
 
13% (6)    👎
本帖最后由 风月无情 于 2022-8-9 16:23 编辑

感谢楼主,加米加米
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (8)
 
 
0% (0)    👎
楼主能不能提供一下第二题的思路,greedy吗
回复

使用道具 举报

地里匿名用户
匿名用户-C7A  2022-8-10 08:32:31
本楼: 👍   0% (0)
 
 
0% (0)   👎
kiritosks1 发表于 2022-8-9 18:33
楼主能不能提供一下第二题的思路,greedy吗

从后往前比较,后面比前面小的话就把差值加上,o(n) 搞定
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (2)
 
 
0% (0)    👎
本帖最后由 azeasbhahliuns 于 2022-8-9 20:57 编辑

请问楼主第二题的思考历程是怎样的。
是什么条件让您想到了这个方法

这种题总是想不到从后向前看的方法 = =


提前感谢!
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (8)
 
 
0% (0)    👎
匿名用户 发表于 2022-8-9 19:32
从后往前比较,后面比前面小的话就把差值加上,o(n) 搞定

所以还是要乘range的个数的吧
比如 [6,7,8,3,4,5,0,1,2]
在5,0之间+6
然后在8,3之间+6*2 因为要保证arr[3:5]>arr[0:1] arr[6:8]>arr[3:5]

补充内容 (2022-08-11 12:59 +8:00):
哦哦我懂了 直接从345 到尾 麻烦了
回复

使用道具 举报

地里匿名用户
匿名用户-C7A  2022-8-11 12:39:46
本楼: 👍   0% (0)
 
 
0% (0)   👎
kiritosks1 发表于 2022-8-10 20:58
所以还是要乘range的个数的吧
比如 [6,7,8,3,4,5,0,1,2]
在5,0之间+6

从3-8加5,然后6-8加5 答案是10 然后看从后往前找一遍也是,只有0比5小加5,然后3比8小加5答案也是10
回复

使用道具 举报

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

本版积分规则

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