Nombre de bits 1

1. Demande

  • Écrivez une fonction, l'entrée est un entier non signé (sous la forme d'une chaîne binaire) et renvoie le nombre de chiffres dans l'expression binaire dont les chiffres sont «1».

Exemple 1:

Entrée: 00000000000000000000000000001011
Sortie: 3
Explication: Dans la chaîne binaire d'entrée 00000000000000000000000000001011, trois bits au total sont «1».

Opération à deux bits

2.1 Analyse de la pensée

  1. L'idée de cette question est d' inverser les chiffres binaires : https://blog.csdn.net/Sruggle/article/details/113888614 Un lien dans l'idée, c'est-à-dire compter le nombre d'occurrences de 1 de bas à haut;

2.2 Implémentation du code

public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int res = 0;
        for(int i = 0; i < 32; i++) {
            if((n & 1) == 1) {
                res++;
            }
            n = n >> 1;
        }
        return res;
    }
}

2.3 Analyse de complexité

  • La complexité temporelle est O (1);
  • La complexité spatiale est O (1);

Je suppose que tu aimes

Origine blog.csdn.net/Sruggle/article/details/113891400
conseillé
Classement