资讯专栏INFORMATION COLUMN

Leetcode PHP题解--D14 561. Array Partition I

stonezhu / 2021人阅读

摘要:题目链接题目分析本题给了一个数组,要求将数组分为个只有个元素的一对。因此,要使每组中最大的数字和最小的数组之差最小,这样才能使损失最小。当分为两组时,每组取最小后,会得到。求和后为,比大。

561. Array Partition I 题目链接

561. Array Partition I

题目分析

本题给了一个数组,要求将数组分为n个只有2个元素的一对。
使得每对数字中最小的数加起来的和最大。

思路

首先,需要把数组分为2个一对。用array_chunk即可。

其次,需要取每对数字中最小的那一个数字,用于求和。
因为我们需要最终求和最大,但每组数字中又取最小。
因此,要使每组中最大的数字和最小的数组之差最小,这样才能使“损失”最小。

例如,[1,2,7,8]

若分为[[1,8],[2,7]][[1,7],[2,8]]两组,那么每组取最小后,会得到[1,2]。求和后为3。
当比较大的数字和比较小的数字数字组成一对时,较大的数字都没办法用于求和(因为题目要取每组数字中最小的数)。
当分为[[1,2],[7,8]]两组时,每组取最小后,会得到[1,7]。求和后为8,比3大。

故,先对数组排序,再两两分组,从每组中获取第0个元素参与计算即可。

最终代码

若觉得本文章对你有用,欢迎用爱发电资助。

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

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

相关文章

  • LeetCode 561:数组拆分 I Array Partition I

    摘要:给定长度为的数组你的任务是将这些数分成对例如,使得从到的总和最大。提示是正整数范围在数组中的元素范围在解题思路其实就是把数组排序,然后按顺序每两个数既是一对,每对的第一个数累加之和即为所求。就是考一下各类排序算法的性能。 文章全部来自公众号:爱写bug 算法是一个程序的灵魂。Given an array of 2n integers, your task is to group the...

    gnehc 评论0 收藏0
  • LeetCode 561:数组拆分 I Array Partition I

    摘要:给定长度为的数组你的任务是将这些数分成对例如,使得从到的总和最大。提示是正整数范围在数组中的元素范围在解题思路其实就是把数组排序,然后按顺序每两个数既是一对,每对的第一个数累加之和即为所求。就是考一下各类排序算法的性能。 文章全部来自公众号:爱写bug 算法是一个程序的灵魂。Given an array of 2n integers, your task is to group the...

    wangtdgoodluck 评论0 收藏0
  • Leetcode PHP题解--D48 985. Sum of Even Numbers After

    摘要:结果中第个元素的结果为,当执行第步时,数组中偶数元素的和。再在每一步计算的过程中,判断当前位置是否为偶数。是则加进偶数和中。把每一步的偶数和记录下来,以便最后返回。 D48 985. Sum of Even Numbers After Queries 题目链接 985. Sum of Even Numbers After Queries 题目分析 给定一个初始数组A,再给定一个二维操作...

    yacheng 评论0 收藏0
  • Leetcode PHP题解--D16 922. Sort Array By Parity II

    摘要:题目链接题目分析给定一个整数数组,使数组中偶数位的值为偶数,奇数位的值为奇数。例如,,是偶数,所以要为偶数。,是奇数,所以要为奇数。思路用拆分数组中的偶数和奇数,再轮流塞进新数组中。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 922. Sort Array By Parity II 题目链接 922. Sort Array By Parity II 题目分析 给定一个整数数组A,...

    hosition 评论0 收藏0
  • Leetcode PHP题解--D66 896. Monotonic Array

    摘要:题目链接题目分析给定一个数字数组,判断是否单调递增或递减。判断后,再逐个遍历。若为单调递减,则不能出现大于前一个数组的值。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 D66 896. Monotonic Array 题目链接 896. Monotonic Array 题目分析 给定一个数字数组,判断是否单调递增或递减。 单调递增即,对于第n位数字,其后面的数组都大于或等于它。 ...

    henry14 评论0 收藏0

发表评论

0条评论

stonezhu

|高级讲师

TA的文章

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