recherche complète de bits python

Méthode 1

>>> from itertools import product
>>> n = 3
>>> [[i for i, j in zip(range(n), mask) if j] for mask in product((0, 1), repeat=n)]
[[], [2], [1], [1, 2], [0], [0, 2], [0, 1], [0, 1, 2]]

>>> n = 5
>>> [[i for i, j in zip(range(n), mask) if j] for mask in product((0, 1), repeat=n)]
[[], [4], [3], [3, 4], [2], [2, 4], [2, 3], [2, 3, 4], [1], [1, 4], [1, 3], [1, 3, 4], [1, 2], [1, 2, 4], [1, 2, 3], [1, 2, 3, 4], [0], [0, 4], [0, 3], [0, 3, 4], [0, 2], [0, 2, 4], [0, 2, 3], [0, 2, 3, 4], [0, 1], [0, 1, 4], [0, 1, 3], [0, 1, 3, 4], [0, 1, 2], [0, 1, 2, 4], [0, 1, 2, 3], [0, 1, 2, 3, 4]]

Méthode 2

>>> n = 3
>>> [[i for i in range(bit) if bit & (1<<i)] for bit in range(1<<n)]
[[], [0], [1], [0, 1], [2], [0, 2], [1, 2], [0, 1, 2]]

>>> n = 5
>>> [[i for i in range(bit) if bit & (1<<i)] for bit in range(1<<n)]
[[], [0], [1], [0, 1], [2], [0, 2], [1, 2], [0, 1, 2], [3], [0, 3], [1, 3], [0, 1, 3], [2, 3], [0, 2, 3], [1, 2, 3], [0, 1, 2, 3], [4], [0, 4], [1, 4], [0, 1, 4], [2, 4], [0, 2, 4], [1, 2, 4], [0, 1, 2, 4], [3, 4], [0, 3, 4], [1, 3, 4], [0, 1, 3, 4], [2, 3, 4], [0, 2, 3, 4], [1, 2, 3, 4], [0, 1, 2, 3, 4]]

case: cpp

#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)

int main() {
  int N = 3;

  map<int, vector<int>> mp;
  rep(bit, (1 << N)) rep(i, bit) if (bit & (1 << i)) mp[bit].push_back(i);

  for (auto x : mp) {
    cout << x.first << " : ";
    for (int n : x.second) cout << n << ' ';
    cout << endl;
  }
}

output



1 : 0 
2 : 1 
3 : 0 1 
4 : 2 
5 : 0 2 
6 : 1 2 
7 : 0 1 2 

Recommended Posts

recherche complète de bits python
Confirmer la recherche de bits complète
Recherche de bits complète avec Go
Version 64 bits de PYTHON2.7
peu de recherche complète et ensemble de produits direct
Recherche séquentielle avec Python
Exercice Python Recherche prioritaire sur 1 largeur
Dichotomie avec Python
[Python] Recherche (NumPy) ABC165C
Recherche de bisection (python2.7) mémo
[Python] Recherche de bisection ABC155D
Recherche linéaire en Python
Dichotomie avec python
Dichotomie avec Python 3
Rechercher sur Twitter avec Python
Recherche binaire en Python
Utilisez Search Tweets: Archive complète / Sandbox en Python
[Python] BFS (recherche de priorité de largeur) ABC168D
Recherche de priorité de largeur / recherche bidirectionnelle (édition Python)
Algorithme de recherche utilisant word2vec [python]
Homebrew Python - Programme de recherche YouTube
[Python] DFS (recherche de priorité en profondeur) ATC001A
Résoudre avec Python [100 questions passées sélectionnées que les débutants et les intermédiaires devraient résoudre] (010 --014 Recherche complète: Recherche complète de bits)
Recherche binaire en Python / C ++
Algorithme en Python (dichotomie)
[Python] DFS (recherche de priorité en profondeur) ABC157D
Les moteurs de recherche fonctionnent avec python
Rechercher des tweets Twitter avec Python
[Python] Recherche de priorité de profondeur et recherche de priorité de largeur
Compréhension complète du débogage Python
Rationalisez la recherche Web avec Python
Ecrire une dichotomie en Python
Installation de Kivy sur Windows10 64 bits Python3.5
Python
Mettez MeCab dans "Windows 10; Python3.5 (64 bits)"
installation de python2.7 dans un environnement Windows 32 bits
Algorithme en Python (recherche de priorité en profondeur, dfs)
Je souhaite rechercher le texte intégral avec elasticsearch + python
Maîtrisez la recherche linéaire! ~ Version d'implémentation Python ~
Installation de Kivy-Designer sur Windows10 64 bits Python3.5
Apprentissage par ABC173C (recherche complète de bits, copie de liste multidimensionnelle, une dimension de liste multidimensionnelle)
Construire mlpy avec python3.3 (64 bits) (Windows 64 bits)
Écrire une recherche de priorité en profondeur en Python
Résolvez les problèmes de somme partielle avec une recherche complète en Python
Reproduire la recherche à une touche avec Python 3.7.3. (Windows 10)
Recherche de priorité de profondeur à l'aide de la pile en Python
Recherche de 2 minutes Python et ses dérivés
À propos de la recherche peu complète qui apparaît souvent chez les professionnels de la concurrence Aux yeux des débutants avec python
Homebrew Python Partie 3 - Programme de recherche de produits d'Amazon
Changer l'environnement Python 64 bits en environnement 32 bits avec Anaconda
Jeu de main Python (calculé plein de mordred)
Algorithme en Python (ABC 146 C Dichotomy
Super Introduction Arithmétique Bit Python
Rechercher et lire des vidéos YouTube avec Python