资讯专栏INFORMATION COLUMN

leetcode 870.优势洗牌

TZLLOG / 2010人阅读

摘要:请输入代码给定两个大小相等的数组和,相对于的优势可以用满足的索引的数目来描述。返回的任意排列,使其相对于的优势最大化。示例输入输出示例输入输出假设最终输出的数组为这题的核心的思想就在于,任意非负整数的选定都和数组中其他数的选定无关。

请输入代码给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述。

返回 A 的任意排列,使其相对于 B 的优势最大化。

示例 1:

输入:A = [2,7,11,15], B = [1,10,4,11]
输出:[2,11,7,15]
示例 2:

输入:A = [12,24,8,32], B = [13,25,32,11]
输出:[24,32,8,12]

假设最终输出的数组为C,这题的核心的思想就在于,任意非负整数i,C[i]的选定都和数组C中其他数的选定无关。
而且这题也不存在什么需要考虑的特殊情况,非常好写。

代码:

class Solution {
    public int[] advantageCount(int[] A, int[] B) {
        Arrays.sort(A);
        List list = new ArrayList<>();
        for(int i = 0 ; i < A.length ; i++){
            list.add(A[i]);
        }
        int [] C = new int [A.length];
        for(int i =0 ; i < C.length ; i++){
            C[i] = Integer.MIN_VALUE;
            for(int j = 0; j < list.size() ; j++ ){
                if(list.get(j) > B[i]){
                    C[i] = list.remove(j);
                    break;
                }
            }
        }
        for(int i = 0 ; i < C.length; i++){
           
           if(C[i] == Integer.MIN_VALUE){
                C[i] = list.remove(0);
            }
        }
        return C;
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72011.html

相关文章

  • 洗牌过后,2019全球IDC市场格局已定,一超多强

    摘要:年已经过去,全球产业增长势头依然不减,增速保持在两位数以上,市场规模也有望在年亿美元的基础上进一步大幅增长。以下排名不分先后,仅供参考一超多强格局稳固,中国成第二级关键词一超多强中国年,全球市场格局依然呈现一超多强的局面。2018年已经过去,全球IDC产业增长势头依然不减,增速保持在两位数以上,市场规模也有望在2017年537亿美元的基础上进一步大幅增长。全球各大厂商在新上马数据中心项目、兼...

    Stardustsky 评论0 收藏0
  • 腾讯云降价云计算将迎来寡头时代

    摘要:据腾讯云官方页面显示,本次调价主要包括云服务器云数据库云存储和云安全四类产品,产品线覆盖多个不同型号配置,包涵了云计算服务的主要场景。  在互联网领域,当一个产品逐渐成熟落地的时候,总会来一波价格战,强势的企业通过硬洗牌推动业务的普及。经过几年的积累,云计算也到了这样的关键时刻,国内外的巨头们再次吹响了降价号角。  云计算巨头纷纷降价,腾讯云幅度史无前例  在中国市场上,阿里云、腾讯云以及百...

    Godtoy 评论0 收藏0
  • 随机问题之洗牌算法

    摘要:百度文库洗牌算法提到一种换牌思路随机交换两个位置,共交换次,越大,越接近随机。洗牌插牌法优化版,可以用数学归纳法证明,这种洗牌是均匀的。每次生成一张最大的牌,与随机的某张牌换位子抽牌抽牌优化换牌插牌插牌优化文章转载自随机问题之洗牌算法 洗牌算法是我们常见的随机问题,在玩游戏、随机排序时经常会碰到。它可以抽象成这样一个问题。 得到一个M以内的所有自然数的随机顺序数组。 在百度搜洗牌算法,...

    instein 评论0 收藏0
  • js 数组随机数 数组洗牌

    摘要:首先通过数组调用是令系统随机选取大于等于且小于的伪随机值进入到函数后分别定义了变量和变量为当前数组的长度,先声明,以便在下面中使用。循环一圈后就形成了对数组的洗牌。 这次分享一个随机数组洗牌的一个算法,让你得到随机数组。 假如1个数组的值是这样的: const arr = [a, b, c, d, e, f, g]; 因为在实践操作中,在网上搜可以搜到一大堆随机的这些代码。但是实际上究...

    jay_tian 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<