
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Convert Array into Increasing Sequence in JavaScript
Increasing Sequence
We define an array as increasing if arr[i] <= arr[i + 1] holds for every i (0-based) such that (0 <= i <= n - 2).
Problem
We are required to write a JavaScript function that takes in an array of integers, arr, as the first and the only argument.
Our function should determine whether we can convert this array into an increasing array by modifying at most one element of the array.
If we can do so we should return true, false otherwise.
For example, if the input to the function is
Input
const arr = [8, 3, 3, 7, 9];
Output
const output = true;
Output Explanation
Because we can replace the 8 at index 0 with 1 or 2 to get the desired array.
Example
Following is the code −
const arr = [8, 3, 3, 7, 9]; const canConvert = (arr = []) => { const find = () => { for (let i = 1; i < arr.length; i++) { if (arr[i] < arr[i - 1]) { return false } } return true } for (let i = 0; i < arr.length; i++) { if (arr[i] < arr[i - 1]) { const temp = arr[i] arr[i] = arr[i - 1] if (find(arr)) { return true } arr[i] = temp arr[i - 1] = arr[i] return find(arr) } } return true } console.log(canConvert(arr));
Output
true
Advertisements