# Delete array element in given index range [L – R]

• Difficulty Level : Medium
• Last Updated : 30 Aug, 2022

Given an array A[] and size of an array is N. The task is to delete elements of array A[] are in given range L to R both are exclusive.

Examples:

```Input : N = 12
A[] = { 3, 5, 3, 4, 9, 3, 1, 6, 3, 11, 12, 3}
L = 2
R = 7
Output : 3 5 3 6 3 11 12 3
since A[2] = 3 but this is exclude
A[7] =  6 this also exclude

Input : N = 10
A[] ={ 5, 8, 11, 15, 26, 14, 19, 17, 10, 14 }
L = 4
R = 6
Output :5 8 11 15 26 19 17 10 14 ```

A naive approach is to delete elements in range L to R with extra space.

Below is the implementation of the above approach:

## C++

 `// C++ code to delete element``// in given range``#include ``using` `namespace` `std;` `// Delete L to R element``vector<``int``> deleteElement(``int` `A[], ``int` `L, ``int` `R, ``int` `N)``{``    ``vector<``int``> B;` `    ``for` `(``int` `i = 0; i < N; i++)``        ``if` `(i <= L || i >= R)``           ``B.push_back(A[i]);       ``    ` `    ``return` `B;``}` `// main Driver``int` `main()``{``    ``int` `A[] = { 3, 5, 3, 4, 9, 3, 1, 6, 3, 11, 12, 3 };``    ``int` `L = 2, R = 7;``    ``int` `n = ``sizeof``(A) / ``sizeof``(A[0]);``    ``vector<``int``> res = deleteElement(A, L, R, n);``    ``for` `(``auto` `x : res)``        ``cout << x << ``" "``;``    ``return` `0;``}`

## Java

 `import` `java.util.Vector;` `// Java code to delete element``// in given range``class` `GFG {``// Delete L to R element` `    ``static` `Vector deleteElement(``int` `A[], ``int` `L, ``int` `R, ``int` `N) {``        ``Vector B = ``new` `Vector<>();` `        ``for` `(``int` `i = ``0``; i < N; i++) {``            ``if` `(i <= L || i >= R) {``                ``B.add(A[i]);``            ``}``        ``}` `        ``return` `B;``    ``}` `// main Driver``    ``public` `static` `void` `main(String[] args) {``        ``int` `A[] = {``3``, ``5``, ``3``, ``4``, ``9``, ``3``, ``1``, ``6``, ``3``, ``11``, ``12``, ``3``};``        ``int` `L = ``2``, R = ``7``;``        ``int` `n = A.length;``        ``Vector res = deleteElement(A, L, R, n);``        ``for` `(Integer x : res) {``            ``System.out.print(x + ``" "``);``        ``}``    ``}``}``// This code is contributed by PrinciRaj1992`

## Python3

 `# Python 3 code to delete element``# in given range` `# Delete L to R element``def` `deleteElement(A, L, R, N):``    ``B ``=` `[]` `    ``for` `i ``in` `range``(``0``, N, ``1``):``        ``if` `(i <``=` `L ``or` `i >``=` `R):``            ``B.append(A[i])``    ` `    ``return` `B` `# Driver Code``if` `__name__ ``=``=` `'__main__'``:``    ``A ``=` `[``3``, ``5``, ``3``, ``4``, ``9``, ``3``, ``1``,``             ``6``, ``3``, ``11``, ``12``, ``3``]``    ``L ``=` `2``    ``R ``=` `7``    ``n ``=` `len``(A)``    ``res ``=` `deleteElement(A, L, R, n)``    ``for` `i ``in` `range``(``len``(res)):``        ``print``(res[i], end ``=` `" "``)` `# THis code is implemented by``# Surendra_Gangwar`

## C#

 `// C# code to delete element``// in given range``using` `System;``using` `System.Collections.Generic;` `class` `GFG``{``    ` `    ``// Delete L to R element``    ``static` `List<``int``> deleteElement(``int` `[]A,``                        ``int` `L, ``int` `R, ``int` `N)``    ``{``        ``List<``int``> B = ``new` `List<``int``>();``        ``for` `(``int` `i = 0; i < N; i++)``        ``{``            ``if` `(i <= L || i >= R)``            ``{``                ``B.Add(A[i]);``            ``}``        ``}``        ``return` `B;``    ``}` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{``        ``int` `[]A = {3, 5, 3, 4, 9, 3, 1, 6,``                            ``3, 11, 12, 3};``        ``int` `L = 2, R = 7;``        ``int` `n = A.Length;``        ``List<``int``> res = deleteElement(A, L, R, n);``        ``foreach` `(``int` `x ``in` `res)``        ``{``            ``Console.Write(x + ``" "``);``        ``}``    ``}``}` `// This code is contributed by Rajput-Ji`

## PHP

 `= ``\$R``)``            ``\$B``[] = ``\$A``[``\$i``];``    ``}``    ``return` `\$B``;``}` `// Driver Code``\$A` `= ``array``(3, 5, 3, 4, 9, 3, 1,``              ``6, 3, 11, 12, 3);``\$L` `= 2;``\$R` `= 7;``\$n` `= ``count``(``\$A``);``\$res` `= deleteElement(``\$A``, ``\$L``, ``\$R``, ``\$n``);``for` `(``\$i` `= 0; ``\$i` `< ``count``(``\$res``); ``\$i``++)``echo` `"\$res[\$i] "``;` `// This code is implemented by``// Srathore``?>`

## Javascript

 ``

Output

`3 5 3 6 3 11 12 3 `

Complexity Analysis:

• Time Complexity: O(n)
• Auxiliary Space : O(n)

An efficient solution without using extra space.

Below is the implementation of the above approach:

## C++

 `// C++ code to delete element``// in given range``#include ``using` `namespace` `std;` `// Delete L to R elements``int` `deleteElement(``int` `A[], ``int` `L, ``int` `R, ``int` `N)``{``    ``int` `i, j = 0;``    ``for` `(i = 0; i < N; i++) {``        ``if` `(i <= L || i >= R) {``            ``A[j] = A[i];``            ``j++;``        ``}``    ``}` `    ``// Return size of Array``    ``// after delete element``    ``return` `j;``}` `// main Driver``int` `main()``{``    ``int` `A[] = { 5, 8, 11, 15, 26, 14, 19, 17, 10, 14 };``    ``int` `L = 2, R = 7;``    ``int` `n = ``sizeof``(A) / ``sizeof``(A[0]);``    ``int` `res_size = deleteElement(A, L, R, n);``    ``for` `(``int` `i = 0; i < res_size; i++)``        ``cout << A[i] << ``" "``;``    ``return` `0;``}`

## Java

 `// Java code to delete element``// in given range``class` `GFG``{` `// Delete L to R elements``static` `int` `deleteElement(``int` `A[], ``int` `L,``                         ``int` `R, ``int` `N)``{``    ``int` `i, j = ``0``;``    ``for` `(i = ``0``; i < N; i++)``    ``{``        ``if` `(i <= L || i >= R)``        ``{``            ``A[j] = A[i];``            ``j++;``        ``}``    ``}` `    ``// Return size of Array``    ``// after delete element``    ``return` `j;``}` `// Driver Code``public` `static` `void` `main(String args[])``{``    ``int` `A[] = ``new` `int``[] { ``5``, ``8``, ``11``, ``15``, ``26``,``                        ``14``, ``19``, ``17``, ``10``, ``14` `};``    ``int` `L = ``2``, R = ``7``;``    ``int` `n = A.length;``    ``int` `res_size = deleteElement(A, L, R, n);``    ``for` `(``int` `i = ``0``; i < res_size; i++)``    ``System.out.print(A[i] + ``" "``);``}``}` `// This code is contributed``// by Kirti_Mangal`

## Python 3

 `# Python 3 program  to delete element``# in given range` `# Function to delete L to R element``def` `deleteElement(A, L, R, N) :` `    ``j ``=` `0``    ``for` `i ``in` `range``(N) :``        ``if` `i <``=` `L ``or` `i >``=` `R :``            ``A[j] ``=` `A[i]``            ``j ``+``=` `1` `    ``# Return size of Array``    ``# after delete element``    ``return` `j``    ` `# Driver Code``if` `__name__ ``=``=` `"__main__"` `:` `    ``A ``=` `[``5``, ``8``, ``11``, ``15``, ``26``, ``14``, ``19``, ``17``, ``10``, ``14``]``    ``L, R ``=` `2``,``7` `    ``n ``=` `len``(A)``    ``res_size ``=` `deleteElement(A, L, R, n)` `    ``for` `i ``in` `range``(res_size) :``        ``print``(A[i],end ``=` `" "``)` `# This code is contributed by ANKITRAI1`

## C#

 `// C# code to delete element``// in given range``using` `System;` `class` `GFG``{` `// Delete L to R elements``static` `int` `deleteElement(``int` `[]A, ``int` `L,``                         ``int` `R, ``int` `N)``{``    ``int` `i, j = 0;``    ``for` `(i = 0; i < N; i++)``    ``{``        ``if` `(i <= L || i >= R)``        ``{``            ``A[j] = A[i];``            ``j++;``        ``}``    ``}` `    ``// Return size of Array``    ``// after delete element``    ``return` `j;``}` `// Driver Code``public` `static` `void` `Main()``{``    ``int` `[]A = ``new` `int``[] { 5, 8, 11, 15, 26,``                         ``14, 19, 17, 10, 14 };``    ``int` `L = 2, R = 7;``    ``int` `n = A.Length;``    ``int` `res_size = deleteElement(A, L, R, n);``    ``for` `(``int` `i = 0; i < res_size; i++)``        ``Console.Write(A[i] + ``" "``);``}``}` `// This code is contributed by 29AjayKumar`

## PHP

 `= ``\$R``)``        ``{``            ``\$A``[``\$j``] = ``\$A``[``\$i``];``            ``\$j``++;``        ``}``    ``}` `    ``// Return size of Array``    ``// after delete element``    ``return` `\$j``;``}` `// Driver Code``\$A` `= ``array``(5, 8, 11, 15, 26,``           ``14, 19, 17, 10, 14);``\$L` `= 2;``\$R` `= 7;``\$n` `= sizeof(``\$A``);``\$res_size` `= deleteElement(``\$A``, ``\$L``, ``\$R``, ``\$n``);``for` `(``\$i` `= 0; ``\$i` `< ``\$res_size``; ``\$i``++)``{``    ``echo` `(``\$A``[``\$i``]);``    ``echo` `(``" "``);``}` `// This code is contributed``// by Shivi_Aggarwal``?>`

## Javascript

 ``

Output

`5 8 11 17 10 14 `

Complexity Analysis:

• Time Complexity: O(n)
• Auxiliary Space : O(1)

My Personal Notes arrow_drop_up