网易2018校招两题

牛牛找工作

为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。

输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,分别表示工作的数量N(N

输出描述:对于每个小伙伴,在单独的一行输出一个正整数表示他能得到的最高报酬。一个工作可以被多个人选择。

输入例子1:

输出例子1:

思路

1.第一感觉是一个排序和查找问题2.题目中明确指出一个工作可以被多个人选择3.所以第一个想法就是按照输入的工作难度排序,然后挨个匹配就行4.需要考虑的问题是个人能力太突出比所有的工作都高和个人能力太低达不到所有工作要求的情况,所以我记录了每一步比较的最高工资

方法

方法一 python我在本地调试的时候是可以运行的,但是提交的时候总是出错,错误描述为 意思是我在获取输入的时候只获取了一个但是赋值给了两个变量,我也是醉了,估计是编译器的问题

方法二 Java虽然很久很久没有写Java代码了,但是想要解题还是需要拿起来的,同样的思路,这回过了

被3整除

小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。并且小Q对于能否被3整除这个性质很感兴趣。小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。

输入描述:输入包括两个整数l和r(1

输出描述:输出一个整数, 表示区间内能被3整除的数字个数。

输入例子1:

输出例子1:

例子说明1:12, 123, 1234, 12345...其中12, 123, 12345能被3整除。

思路

1.一个数的各个位上数字之和能被3整除,这个数能被3整除,然后就被带到沟里去了,计算复杂度太大2.观察数列的规则 规则很明显呈现的状态是 0表示不能整除,1表示可以3.想要寻找通项公式来表示第i个数之前有几个数能够被3整除,貌似时间不多,于是我就用了一个简单的方法,如下

方法

python实现

只啃了两题,之后慢慢啃~~~~~~~~

题目连接:https://www.nowcoder.com/test/9763997/summary

欢迎关注我的孙女叫小芳,你的关注是对我最大的支持!!!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180331G0J9ZK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券