每日leetcode第0061天 0870. Advantage Shuffle

这是一道双指针的题目。

结构体的排序是一开始就要做的事,不然B数组的数值排序后下标信息就丢失了,A数组就会不知道数据安插到result数组中的哪个位置。

我先将A和B数组排序。接下来进行双指针操作,如果A的元素小于B的元素,就把这个没用的元素丢进useless队列,如果严格大于B的元素,那么就安放到result数组中。

在全部有用的都安放好后,再将没用的元素安插进result数组中。

由于题目说每一个数据是大于等于0的,所以我们一开始初始化要将result数组都写成-1而不是0。

这样我们就可以通过for循环里面写一个if语句来判断result中的数据是否没填写,没填写就拿个没用的数据来写。

最后输出即可。



关于樊轶群

一个善良的理想主义者。
此条目发表在每日LeetCode分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。