JavaScript program finds M-th element after right-rotating array K times

WBOY
Release: 2023-09-05 11:05:07
forward
811 people have browsed it

JavaScript 程序在数组右旋转 K 次后查找第 M 个元素

We are writing a JavaScript program to find the mth element of an array right-rotated k times. First, we will take the input of the arrays m and k. We will then use a loop to perform the correct rotation. On each iteration of the loop, we move the last element of the array to the first position. We will continue this loop k times to get the rotated array. Finally, we will return the mth element of the rotated array as the result.

method

The method of finding the m-th element after right-rotating the array k times can be decomposed as follows -

  • Calculate the actual position of the m-th element after k rotations, that is, (m-k) % n, where n is the length of the array.

  • Check if the calculated position is negative, in which case it can be converted to a positive position by adding n.

  • Returns the element at the calculated position in the array.

  • To optimize this solution, you can use the modulo operator to keep the calculated position within the range of the array, so that you don't need to check for negative values.

  • The time complexity of this solution is O(1) because calculating the final position and retrieving the element at that position are constant time operations.

  • The space complexity is O(1) because no additional data structures are used in the solution.

Example

This is an example of a JavaScript program that finds the mth element after right-rotating an array k times.

function findElement(arr, k, m) { k = k % arr.length; // handling large k values return arr[(arr.length - k + m - 1) % arr.length]; } let arr = [1, 2, 3, 4, 5]; let k = 2; let m = 3; console.log(findElement(arr, k, m));
Copy after login

illustrate

  • findElementThe function accepts the arrayarr, the number of rotationsk, and the m-th element to be found. p>

  • The
  • k = k % arr.lengthrow calculates the actual number of rotations performed on the array after processing largekvalues. This is done because rotating the array beyond its length does not change its position, so takingkmodulo the length of the array gives the actual number of rotations performed.

  • Linereturn arr[(arr.length - k m - 1) % arr.length];Calculate the position of the m-th element after k rotations. The expressionarr.length - kgives the starting position of the array after k rotations, thenm - 1gives the position of the m-th element, and finally takes the AND Modulo the array length ensures that the position wraps around the end of the array if it goes out of range.

  • Finally, the program calls thefindElementfunction and records the result. In this example, the output will be 4.

The above is the detailed content of JavaScript program finds M-th element after right-rotating array K times. For more information, please follow other related articles on the PHP Chinese website!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!