Java实现 LeetCode 561 数组拆分 I(通过排序算法改写PS:难搞)_普通网友的博客-程序员宝宝

技术标签: LeetCode  

561. 数组拆分 I

给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。

示例 1:

输入: [1,4,3,2]

输出: 4
解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).
提示:

n 是正整数,范围在 [1, 10000].
数组中的元素范围在 [-10000, 10000].
PS:

小编最近有点头晕,看来刷不了什么算法题了

class Solution {
    
     public int arrayPairSum(int[] nums) {
    
        boolean[] flag = new boolean[20001];
        int sum = 0;
        for (int v: nums) {
    
            flag[v + 10000] = !flag[v + 10000];
            sum += v;
        }

        int loss = 0;
        boolean searchFirst = true;
        int first = 0;
        for (int i = 0; i <= 20000; i++) {
    
            if (flag[i]) {
    
                if (searchFirst)
                    first = i;
                else
                    loss += i - first;
                
                searchFirst = !searchFirst;
            }
        }
        return (sum - loss) / 2;

    }
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a1439775520/article/details/105127731

智能推荐

【BZOJ2281】【SDOI2011】黑白棋_cz_xuyixuan的博客-程序员宝宝

【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include&amp;lt;bits/stdc++.h&amp;gt;using namespace std;#define MAXN 10005#define MAXK 20#define P 1000000007int n, k, d;long long fac[MAXN], inv[MAXN], ans[MAXK + 1][MAX...

XmlDocument类详解_jinlaigu的博客-程序员宝宝_xmldocument类

XmlDocument类   FreeEIM XmlDocument类是.NET框架的DOC解析器。XmlDocument将XML视为树状结构,它装载XML文档,并在内存中构建该文档的树状结构。下面来看下XmlDocument提供了哪些功能。  一、属性:Attributes      获取一个 XmlAttributeCollection,它包含该节点的属性。 (继承

成为视频分析专家:自动生成视频集锦(Python实现)_磐创 AI的博客-程序员宝宝

介绍我是个超级板球迷。从我记事起,我就迷上了这项运动,至今它仍在我的日常生活中起着重要的作用。我相信很多读到这篇文章的人都会点头!但是自从我开始工作以来,要跟上所有的比赛就成了一件棘手的事。我不能看一场完整的比赛,只能看一些短暂的片段,或者看文字解说。所以作为数据科学家的我决定做点什么。有没有一种方法可以让我使用我的Python技能并剪辑出比赛的所有重要部分?实际上,我想用Python创建...

qt 子窗体透明 不受父窗体背景影响 播放视频_丘上人的博客-程序员宝宝_qt 子窗口不随父窗口透明

使用qt版本 qt5.11.0 windows10 平台设置子窗体透明的方式很多。但是很多方式在有些情况下效果却很糟。如果父窗体上播放视频操作,或其他有修改窗体swichbuffer的行为时,透明效果需要做点小操作。1、首先如果希望透明子窗体要时时刻刻在父窗体上显示,需要继承父窗体指针,再调用raise()。2、让父窗体不影响子窗体,需要修改窗体flag值。Qt窗体类型有三种,一种是...

随便推点

飞机大战(案例详解)_Cloud*的博客-程序员宝宝

飞机大战是一个非常经典的案例,因为它包含了多种新手需要掌握的概念,非常适合作为面向对象思想的入门练习

ES6解构赋值_树旅小爷的博客-程序员宝宝

解构赋值:从数组和对象中提取值,赋值给变量1.数组const arr = ['星星','月亮','太阳'];let [a,b,c] = arr;//a='星星' b='月亮' c='太阳'2.对象const obj = { name : '星星', age : 18, sing: function(){ console.log("星星会唱歌"); }}let {name,age,sing} = obj;//直接调用sing();//星星会唱歌//不解构,原来写法o

python爬取某人所有微博_Python爬取博客的所有文章并存为带目录的word文档(实例67)_weixin_39784195的博客-程序员宝宝

看上博客上一个作者的文章,想一次性下载到一个word文件中,并且可以设置好目录,通过word的“导航窗格”快速定位单篇文章。一劳永逸,从此再也不用去博客上一篇一篇地翻阅了。整理一下步骤:先获取到所有文章的标题、发表日期、链接通过链接获取文章的内容将文章标题作为“1级”,发表日期和内容作为正文写入word文件保存wrod文件下面就按照以上步骤进行操作。先进入到目标博客的主页,点击“博文目录”,这样就...

机器学习算法: 基于逻辑回归的分类预测模型_尽力而为还不够的博客-程序员宝宝_逻辑回归建立预测模型

基于逻辑回归的分类预测模型一、Demo实例Step1:库函数导入Step2:模型训练Step3:模型参数查看Step4:数据和模型可视化可视化构造得数据样本点可视化决策边界可视化预测新样本Step5:模型预测二、基于鸢尾花(iris)数据集的逻辑回归分类实践Step1:函数库导入Step2:数据读取/载入Step3:数据信息简单查看Step4:可视化描述Step5:利用 逻辑回归模型 在二分类上 进行训练和预测Step6:利用 逻辑回归模型 在三分类(多分类)上 进行训练和预测三、逻辑回归原理简介一、De

HTML 常用标签_炒鸡蛋44的博客-程序员宝宝

body中常用标签:多个段落快捷键:p*n Tab 内容*nTab&lt;!DOCTYPE html&gt; &lt;!-- # 文档类型说明 --&gt;&lt;html lang="en"&gt; &lt;!-- # 页面根标签 --&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt; ...

探测远程Windows主机的NetBIOS信息_swords_man的博客-程序员宝宝

文摘内容: 原创:TOo2y(夜色) 来源:中华安全网(SafeChina) 探测远程Windows主机的NetBIOS信息Author: TOo2y[原创]E-mail: [email protected]: http://www.safechina.net/Date: 12-25-2002注:    本文相关程序 T-SMB 可探测远程主机的NetBIOS信息,包括操作系统

推荐文章

热门文章

相关标签