牛客算法竞赛入门课第一节习题Part4(铺地毯~明明的随机数)
铺地毯 (思维+枚举)
题意:
找一个点被地毯覆盖的最上面的地毯编号,没有输出-1;
思路:
UPC做过加强版233
可以倒着枚举每个地毯,看是否覆盖该点,如果覆盖则输出,因为是后面的覆盖前面的而且是倒着枚举,这时候这张地毯一定是覆盖该点的最上面的地毯。-1的情况特判一下就好了。
要注意给出的是左上角的端点和边长!!
代码:
纪念品分组 (双指针+枚举)
题意:
大家好,我是乐乐!我来发礼物哈哈哈
有n个物品,每个物品都有他对应的价值,现需要把纪念品分为若干组,每组最多有两个,而且价格之和不能超过某定值,问最少分成几组。
思路:
贪心的思想,从小到大排序后,对于每一个大的都尽量找一个小的匹配,如果找不到小的就只能自己一组了。
所以可以用两个指针l,r进行移动。如果当前两个可以分到一组,就l++,r--,res++;否则,就r--,res++,即价值大的物品自己一组;
代码:
校门外的树(差分)
题意:
值周的数据弱化版。
代码:
明明的随机数
题意:
给定n个数,要求排序并去重。
思路:
在我还是个小小白是就做过这个题,当时的代码又臭又长哈哈哈!
有个函数叫unique,是将相邻重复元素的重复元素只保留一个,其余的移动到容易末尾。
代码: