Nous allons écrire un programme JavaScript qui divise un tableau donné en deux moitiés après K déplacements circulaires, puis trouve la somme du tableau en utilisant un OU au niveau du bit. Notre programme effectuera la tâche en prenant en entrée un tableau et un entier K. Tout d’abord, après avoir effectué K déplacements circulaires, nous divisons le tableau en deux. Nous effectuerons ensuite un OU au niveau du bit sur les deux moitiés pour obtenir un nouveau tableau. Enfin, trouvez la somme des nouveaux tableaux obtenus par opération OU au niveau du bit.
Tout d’abord, effectuez K décalages circulaires sur le tableau donné.
Divisez le tableau décalé en deux moitiés.
Effectue une opération OU au niveau du bit sur chaque élément des deux moitiés du tableau.
Ajoutez tous les éléments obtenus à l'étape 3 pour obtenir le résultat.
Après avoir effectué une opération OU au niveau du bit et divisé le tableau en deux, renvoyez le résultat sous la forme de la somme des tableaux.
Voici un exemple de la façon de résumer un tableau en utilisant OU au niveau du bit après l'avoir divisé en deux après K décalages circulaires -
function splitArrayAndGetSum(array, k) { let splitArray = []; let sum = 0; // Split the array into two halves after K circular shifts for (let i = 0; i < array.length; i++) { splitArray[i % 2] = splitArray[i % 2] | array[(i + k) % array.length]; } // Get the sum of the two halves using Bitwise OR for (let i = 0; i < splitArray.length; i++) { sum = sum | splitArray[i]; } return sum; } let array = [1, 2, 3, 4, 5, 6, 7]; let k = 3; console.log(splitArrayAndGetSum(array, k));
Cette fonction prend un array et un entier k en entrée.
La variable splitArray est utilisée pour stocker les deux moitiés du tableau divisé.
La variable sum est utilisée pour stocker la somme des deux moitiés du tableau.
Dans la première boucle for, après k décalages circulaires, le tableau est divisé en deux moitiés. Utilisez l'opérateur modulo % pour diviser le tableau en deux. La valeur de chaque élément dans les deux moitiés est obtenue en utilisant l'opérateur OU au niveau du bit | et la valeur de l'élément correspondant dans le tableau d'origine après k décalage circulaire.
Dans la seconde boucle for, utilisez l'opérateur OU au niveau du bit | pour obtenir la somme des deux moitiés. Le résultat final est stocké dans la variable sum.
Enfin, la fonction splitArrayAndGetSum renvoie la valeur de sum.
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!