


AND au niveau du bit de nombres contenant au moins un sous-tableau non vide écrit en C++
Pour résoudre un problème étant donné un tableau, nous devons trouver tous les entiers possibles qui sont au moins le ET au niveau du bit d'un sous-tableau non vide, comme -
Input : nums[ ] = { 3, 5, 1, 2, 8 } Output : { 2, 5, 0, 3, 8, 1 } Explanation: 2 is the bitwise AND of subarray {2}, 5 is the bitwise AND of subarray {5}, 0 is the bitwise AND of subarray {1, 2}, {2, 8} and {1, 2, 8}, 3 is the bitwise AND of subarray {3}, 8 is the bitwise AND of subarray {8}, 1 is the bitwise AND of subarray {1}, {3, 5} and {3, 5, 1}. Input : nums[ ] = { 2, 6, 3, 8, 1 } Output: { 1, 8, 3, 6, 2, 0 }
méthodes pour trouver la solution
peuvent être appliquées Le une méthode simple est,
de trouver tous les sous-tableaux non vides possibles.
Lorsque vous parcourez un tableau, calculez le ET au niveau du bit de chaque élément du sous-tableau.
-
Pour éviter les valeurs en double, stockez tous les résultats dans une collection.
Exemple
#include <bits/stdc++.h> using namespace std; int main(){ int arr[] ={ 2, 6, 3, 8, 1 }; int n = sizeof(arr) / sizeof(arr[0]); // Declaring set to store result of each AND operation. unordered_set<int> result; int val; // nested loops to traverse through all the possible non empty subarrays. for (int i = 0; i < n; ++i){ for (int j = i, val = INT_MAX; j < n; ++j){ val = val & arr[j]; // storing result of AND operation result.insert(val); } } cout << "All possible numbers are: "; // printing all the values of set. for (auto i = result.begin(); i != result.end();i++) cout << *i << " "; return 0; }
Output
All possible numbers are: 1 8 3 6 0 2
La description du code ci-dessus
déclare set pour stocker tous les résultats de l'opération ET.
Initialisez la variable "val" en utilisant INT_MAX car nous devons définir tous les bits sur 1 pour l'opération AND.
La boucle interne parcourt tous les sous-tableaux possibles dans le i-ième index
ET chaque élément les uns avec les autres et avec lui-même et le stocke dans l'ensemble de résultats.
Imprimer tout
Conclusion
Dans ce tutoriel, nous avons discuté d'un moyen simple de résoudre ce problème, qui consiste à calculer l'opération ET pour chaque sous-tableau possible. Nous avons également discuté des programmes C++ pour résoudre ce problème. De plus, vous pouvez écrire ce code dans n'importe quel autre langage comme Java, C, Python, etc. Nous espérons que vous avez trouvé ce tutoriel utile.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Nous connaissons tous des nombres qui ne sont le carré d’aucun nombre, comme 2, 3, 5, 7, 8, etc. Il existe N nombres non carrés et il est impossible de connaître tous les nombres. Ainsi, dans cet article, nous expliquerons tout sur les nombres sans carrés ou non carrés et les moyens de trouver le Nième nombre non carré en C++. Nième nombre non carré Si un nombre est le carré d'un entier, alors ce nombre est appelé un carré parfait. Quelques exemples de nombres carrés parfaits sont -1iscarréde14iscarréde29iscarréde316iscarréde425iscarréde5 Si un nombre n'est le carré d'aucun entier, alors le nombre est appelé non carré. Par exemple, les 15 premiers nombres non carrés sont -2,3,5,6,

Un cercle est une figure fermée. Tous les points d'un cercle sont équidistants d'un point à l'intérieur du cercle. Le point central est appelé le centre du cercle. La distance d’un point au centre d’un cercle s’appelle le rayon. L'aire est une représentation quantitative de l'étendue des dimensions d'une figure fermée. L'aire d'un cercle est l'aire délimitée par les dimensions du cercle. La formule pour calculer l'aire d'un cercle, Aire=π*r*r Pour calculer l'aire, nous donnons le rayon du cercle en entrée, nous utiliserons la formule pour calculer l'aire, algorithme ÉTAPE 1 : Prendre le rayon comme entrée de l'utilisateur utilisant st dinput.ÉTAPE 2 : Calculez l'aire du cercle en utilisant, aire = (

Dans cet article, nous découvrirons l'algorithme d'inversion pour faire pivoter le tableau donné vers la droite de k éléments, par exemple −Input:arr[]={4,6,2,6,43,7,3,7}, k= 4Sortie :{43,7,3,7,4,6,2,6}Explication : La rotation de chaque élément du tableau par 4 éléments vers la droite donne{43,7,3,7,4,6,2,6}.Entrée :arr[]= {8 ,5,8,2,1,4,9,3},k=3Sortie :{4,9,3,8,5,8,2,1} Trouver la solution

Nous avons besoin de connaissances appropriées pour créer plusieurs paires uniques dans la syntaxe des tableaux de C++. Tout en trouvant le nombre de paires uniques, nous comptons toutes les paires uniques dans le tableau donné, c'est-à-dire que toutes les paires possibles peuvent être formées où chaque paire doit être unique. Par exemple -Input:array[]={5,5,9}Output:4Explication:Thenumberoffalluniquepairsare(5,5),(5,9),(9,5)and(9,9).Input:array[] = {5,4,3,2,2}Sortie : 16 façons de trouver une solution Il existe deux façons de résoudre ce problème, ce sont -

Dans cet article, nous utiliserons C++ pour résoudre le problème de trouver le nombre de sous-tableaux dont les valeurs maximales et minimales sont les mêmes. Voici un exemple du problème −Input:array={2,3,6,6,2,4,4,4}Output:12Explication :{2},{3},{6},{6}, {2 },{4},{4},{4},{6,6},{4,4},{4,4}et{4,4,4}sont les sous-tableaux qui peuvent être formés avec les mêmes éléments maximum et minimum. Entrée : tableau = {3, 3, 1,5,

Dans cet article, nous expliquerons comment trouver des relations réflexives sur un ensemble. Dans ce problème, on nous donne un nombre n et un ensemble de n nombres naturels, et nous devons déterminer le nombre de relations réflexives. Relation réflexive - Une relation R est dite être une relation réflexive sur l'ensemble A si pour chaque 'a' dans l'ensemble A, (a, a) appartient à la relation R. Par exemple -Input:x=1Output:1Explanation:set={1},reflexiverelationsonA*A:{{1}}Input:x=2Output:4Explanation:set={1,2},reflexiverelationsonA*

Dans ce problème, on nous donne un pointeur vers la tête de la liste chaînée et un entier k. Dans un groupe de taille k, nous devons inverser la liste chaînée. Par exemple -Input:1<->2<->3<->4<->5(doublelylinkedlist),k=3Output:3<->2<->1<->5<->4 à la recherche de solutions Méthode Dans ce problème, nous formulerons un algorithme récursif pour résoudre ce problème. Dans cette méthode, nous utiliserons la récursivité et résoudrons le problème en utilisant la récursivité. Exemple#include<iostream&

Dans le problème donné, nous avons un tableau et nous devons faire pivoter le tableau de d éléments en utilisant un algorithme d'inversion comme −Input:arr[]=[1,2,3,4,5,6,7], d=2Output : arr[]=[3,4,5,6,7,1,2]Explication : Comme vous pouvez le voir, nous devons faire pivoter ce tableau de d=2 mais notre tâche principale consiste à y parvenir en utilisant une technique d'inversion. Nous avons effectué quelques calculs sur la rotation du tableau en utilisant des techniques d'inversion et avons conclu : Tout d'abord, nous inversons.
