L'épée fait référence à l'offre 64. Trouver 1+2+3+4+...+n

Offre de pointeur d'épée 64. Trouvez 1 + 2 +… + n icon-default.png?t=M4ADhttps://leetcode.cn/problems/qiu-12n-lcof/

Exigences 1+2+...+n, il est nécessaire que des mots-clés tels que multiplication et division, for, while, if, else, switch, case et jugement conditionnel (A?B:C) :

En raison des conditions restrictives de la question, les solutions conventionnelles telles que la récursivité ne peuvent pas être utilisées, c'est une question casse-tête.

Effets de court-circuit des opérateurs logiques :

Les opérateurs logiques courants : "et&&", "ou ||", "non !", ont un effet de court-circuit très important :

if (A && B) //若A为false,则不会继续往后判断B,直接输出false;
if (A || B) //若A为true,也不会继续判断B,直接输出true;

 Cette question doit réaliser l'exigence de "terminer la récursivité lorsque n == 1", qui peut être réalisée par effet de court-circuit.

n > 1 && sumNum(n-1)//当n==1,时,终止后面的语句。

Analyse de complexité :

  1. Complexité temporelle : O (n) : Le calcul de n + (n-1) + ....+2+1 nécessite l'ouverture de n fonctions récursives.
  2. Complexité spatiale : O (n) : Lorsque la profondeur de récursivité atteint n, le système utilise un espace supplémentaire de taille O (n).

 code:

class Solution{
public:
    int res = 0;
    int sumNum(int n){
        bool x = n > 1 && sumNum(n-1) > 0;//为构成语句,使用bool x = 
        res += n;
        return res;
    }
};

Supongo que te gusta

Origin blog.csdn.net/qq_43679351/article/details/124829578
Recomendado
Clasificación