Maison  >  Article  >  développement back-end  >  Comment déterminer efficacement les relations de sous-ensembles en Go à l'aide de tranches entières ?

Comment déterminer efficacement les relations de sous-ensembles en Go à l'aide de tranches entières ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-26 15:03:31468parcourir

How to Efficiently Determine Subset Relationships in Go Using Integer Slices?

Sous-ensemble avec des tranches entières dans Go : une solution efficace

Identifier si une tranche est un sous-ensemble d'une autre peut être une exigence courante dans les données analyse ou traitement. Même si parcourir les tranches peut être une approche simple, elle peut manquer d’efficacité. Cet article explore une solution plus efficace pour déterminer si une tranche est un sous-ensemble à l'aide de tranches entières dans Go.

Pour vérifier efficacement la présence de sous-ensembles, une approche cartographique est utilisée. Le sous-ensemble de fonctions construit une carte dans laquelle les clés représentent les éléments de la plus grande tranche tandis que les valeurs représentent leurs fréquences. Il parcourt les éléments de la plus petite tranche, vérifiant si chaque élément existe en tant que clé dans la carte et s'assurant que sa fréquence est d'au moins 1.

Par exemple, étant donné []int{1, 2, 3 } et []int{1, 2, 3, 4}, la fonction de sous-ensemble créerait une carte {1 : 1, 2 : 1, 3 : 1}. En parcourant les éléments de la plus petite tranche, il trouve chaque clé de la carte et soustrait 1 du nombre correspondant.

Cette approche garantit une vérification efficace des sous-ensembles en utilisant une carte pour suivre les fréquences des éléments dans la plus grande tranche. . Il détermine efficacement si tous les éléments de la plus petite tranche sont présents dans la plus grande tranche et avec au moins la même fréquence.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn