这个题的思路还是在网上看一位学姐的,但稍稍按我的思路改了一下,让循环的次数减少了很多,我以为这样执行的时间会少一点,可是没想到,我把两个程序都提交了一下,那位学姐的代码时间是47ms,而我改之后的竟然是500多ms,我这就不是很理解了,可能是因为我用了一个排序,排序要花去很多时间,所以多了好几百!
我的思路:将输入的宽带值,进行升序排序,然后对宽带从小到大一一进行枚举,对宽带的每一个值,在价格里贪心的选择最小的(注意:选最小的价格,要先满足和该价格相对应的宽带值,比当前的宽带值大或等于),这样就求出了每一个宽带的B/P值,选取最大的就是所求的值了。
下面是代码:
自己还得加把劲啊!