LeetCode 561.Array Partition I


题目标签

Array


题意及思路

题意:这道题目给了我们一个数组有2n integers, 需要我们把这个数组分成n对,然后从每一对里面拿小的那个数字,把所有的加起来,返回这个sum。并且要使这个sum 尽量最大。

思路:如果一个小的数和一个很大的数凑在一起,那这样就会浪费那个大的数,所以我们可以进行一次排序,然后从小开始两两组队。即将下标为0,2,4 ...位置的数加起来即可。


代码

class Solution {
    public int arrayPairSum(int[] nums) {
        Arrays.sort(nums);
        int ans = 0;
        for(int i=0;i<nums.length;i+=2){
            ans += nums[i];
        }
        return ans;
    }
}


全部评论

相关推荐

长鑫存储
投递长鑫存储等公司6个岗位 >
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务