成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

LeetCode 561:數(shù)組拆分 I Array Partition I

gnehc / 3459人閱讀

摘要:給定長度為的數(shù)組你的任務(wù)是將這些數(shù)分成對例如,使得從到的總和最大。提示是正整數(shù)范圍在數(shù)組中的元素范圍在解題思路其實(shí)就是把數(shù)組排序,然后按順序每兩個(gè)數(shù)既是一對,每對的第一個(gè)數(shù)累加之和即為所求。就是考一下各類排序算法的性能。

文章全部來自公眾號:愛寫bug

算法是一個(gè)程序的靈魂。
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.

給定長度為 2n 的數(shù)組, 你的任務(wù)是將這些數(shù)分成 n 對, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得從1 到 n 的 min(ai, bi) 總和最大。

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).

Note:

n is a positive integer, which is in the range of [1, 10000].

All the integers in the array will be in the range of [-10000, 10000].

提示:

n 是正整數(shù),范圍在 [1, 10000].

數(shù)組中的元素范圍在 [-10000, 10000].

解題思路:

? 其實(shí)就是把 數(shù)組排序,然后按順序 每兩個(gè)數(shù)既是一對,每對的第一個(gè)數(shù)累加之和即為所求。就是考一下各類排序算法的性能。

先使用內(nèi)置 sort() 函數(shù)理解一下思路:

Java:

import java.util.Arrays;
class Solution {
    public int arrayPairSum(int[] nums) {
        Arrays.sort(nums);
        int sum=0;
        for (int i=0;i

擴(kuò)展:

維基百科上對排序算法介紹的非常詳細(xì),并且進(jìn)行了歸類比較,地址: https://zh.wikipedia.org/wiki/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95

這里簡單推薦兩個(gè):

快速排序(quick sort)—期望時(shí)間,最壞情況;對于大的、隨機(jī)數(shù)列表一般相信是最快的已知排序(C語言標(biāo)準(zhǔn)庫的qsort()排序用的就是快速排序算法,利用遞歸和分而治之思想)

桶排序(bucket sort)—;需要額外空間(典型的犧牲空間換時(shí)間)

冒泡排序、選擇排序都是比較簡單容易理解,復(fù)雜度是 n^2 ,所以不再贅述。


文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75142.html

相關(guān)文章

  • LeetCode 561數(shù)組拆分 I Array Partition I

    摘要:給定長度為的數(shù)組你的任務(wù)是將這些數(shù)分成對例如,使得從到的總和最大。提示是正整數(shù)范圍在數(shù)組中的元素范圍在解題思路其實(shí)就是把數(shù)組排序,然后按順序每兩個(gè)數(shù)既是一對,每對的第一個(gè)數(shù)累加之和即為所求。就是考一下各類排序算法的性能。 文章全部來自公眾號:愛寫bug 算法是一個(gè)程序的靈魂。Given an array of 2n integers, your task is to group the...

    wangtdgoodluck 評論0 收藏0
  • Leetcode PHP題解--D14 561. Array Partition I

    摘要:題目鏈接題目分析本題給了一個(gè)數(shù)組,要求將數(shù)組分為個(gè)只有個(gè)元素的一對。因此,要使每組中最大的數(shù)字和最小的數(shù)組之差最小,這樣才能使損失最小。當(dāng)分為兩組時(shí),每組取最小后,會(huì)得到。求和后為,比大。 561. Array Partition I 題目鏈接 561. Array Partition I 題目分析 本題給了一個(gè)數(shù)組,要求將數(shù)組分為n個(gè)只有2個(gè)元素的一對。 使得每對數(shù)字中最小的數(shù)加起...

    stonezhu 評論0 收藏0
  • 前端 | 每天一個(gè) LeetCode

    摘要:在線網(wǎng)站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個(gè)題。這是項(xiàng)目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...

    張漢慶 評論0 收藏0
  • 一些前端算法詳解 --- (不定時(shí)更新)

    摘要:也稱縮小增量排序,是直接插入排序算法的一種更高效的改進(jìn)版本。希爾排序是非穩(wěn)定排序算法。該方法因於年提出而得名。 前言 因?yàn)楸容^隨心所欲,所以我不按難度分享算法,所以你們會(huì)看到有時(shí)候順序有變化,因?yàn)槲野l(fā)表的時(shí)候會(huì)按照難度修改下位置,盡量讓你們看的時(shí)候能從簡單開始,以后每次更新都加個(gè)更新時(shí)間好了,讓你們知道我進(jìn)度.新增計(jì)時(shí)函數(shù)直觀對比效率并且因?yàn)橘Y料比較雜,很多都是我個(gè)人理解說法,如果有發(fā)...

    Baaaan 評論0 收藏0
  • [Leetcode - Dynamic Programming] Partition Equal S

    摘要:背包問題假設(shè)有個(gè)寶石,只有一個(gè)容量為的背包,且第個(gè)寶石所對應(yīng)的重量和價(jià)值為和求裝哪些寶石可以獲得最大的價(jià)值收益思路我們將個(gè)寶石進(jìn)行編號,尋找的狀態(tài)和狀態(tài)轉(zhuǎn)移方程。我們用表示將前個(gè)寶石裝到剩余容量為的背包中,那么久很容易得到狀態(tài)轉(zhuǎn)移方程了。 Partition Equal Subset Sum Given a non-empty array containing only posi...

    qpal 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<