博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
561. Array Partition I
阅读量:2351 次
发布时间:2019-05-10

本文共 688 字,大约阅读时间需要 2 分钟。

题目

Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), …, (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possible.

Example 1:

Input: [1,4,3,2]

Output: 4
Explanation: n is 2, and the maximum sum of pairs is 4 = min(1, 2) + min(3, 4).

题目看了半天才看懂。。。将数组分为两个两个一组,使得所有小组中的最小数之和最大

我的想法

按照大小排序,让两个相邻数为一组,此时两个数之间的差值最小

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

解答

一样的思路

转载地址:http://tfqvb.baihongyu.com/

你可能感兴趣的文章
SPSS基础教程:SPSS统计分析基础
查看>>
IBM SPSS Modeler 客户端 vs 服务器的区别详解
查看>>
DataStage On Cloud,构建云端的企业数据集成平台
查看>>
ICMP协议
查看>>
SSL协议
查看>>
IMAP,POP3,SMTP协议
查看>>
数据库协议
查看>>
SNMP协议
查看>>
RDP远程桌面协议
查看>>
ssh Forward X11
查看>>
搜索引擎知识图谱相关结构化数据挖掘与去歧处理
查看>>
找到n个元素中的第二小元素
查看>>
linux命令之find
查看>>
linux命令学习之cut
查看>>
linux下目录读权限与执行权限区别
查看>>
[think in java]知识点学习
查看>>
linux下线程调试 ulimit core
查看>>
linux 知识点拾遗
查看>>
java equal和==的区别
查看>>
c++中static的用法总结
查看>>