Tianchi Online Programming 2020 Nationalfeiertag Acht Tage Spaß-8. Punkte Süßigkeit

Artikelverzeichnis

1. Titel

https://tianchi.aliyun.com/oj/118289365933779217/122647324212270016
Beschreibung:
Bei einem ganzzahligen Array mit gerader Länge stehen unterschiedliche Zahlen im Array für verschiedene Arten von Süßigkeiten, und jede Zahl steht für eine Art von Süßigkeiten.
Sie müssen diese Bonbons gleichmäßig auf jüngere Brüder und Schwestern verteilen . Geben Sie die maximale Menge an Süßigkeiten zurück , die die Schwester erhalten kann .

Der Längenbereich des angegebenen Arrays beträgt [2, 10.000] und ist eine gerade Zahl.

Der Zahlenbereich in dem angegebenen Array beträgt [-100.000, 100.000].

示例
输入: candies = [1,1,2,2,3,3]
输出: 3
解释:
有三种不同的糖果(1, 2 and 3), 每种糖果有两个。
最佳分法:妹妹拥有[1,2,3] ,弟弟也会拥有拥有[1,2,3]
妹妹拥有3种不同的糖果。

2. Problemlösung

  • Je nach Anzahl der Typen darf die Deduplizierung höchstens die Hälfte der Array-Länge überschreiten
class Solution {
    
    
public:
    /**
     * @param candies: a list of integers
     * @return: return a integer
     */
    int distributeCandies(vector<int> &candies) {
    
    
        // write your code here
        unordered_set<int> s;
        for(auto c : candies) 
        	s.insert(c);
        return min(candies.size()/2, s.size());
    }
};

Meine CSDN- Blog-Adresse https://michael.blog.csdn.net/

Drücken oder scannen Sie lange den QR-Code, um meinem offiziellen Konto (Michael Amin) zu folgen, zusammen zu kommen, zu lernen und gemeinsam Fortschritte zu machen!
Michael Amin

Ich denke du magst

Origin blog.csdn.net/qq_21201267/article/details/108895272
Empfohlen
Rangfolge