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

03 Jun, 2021
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++
Java
Python3
C#
PHP
Javascript
// C++ code to delete element// in given range#include <bits/stdc++.h>using namespace std; // Delete L to R elementvector<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 Driverint 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;}
import java.util.Vector; // Java code to delete element// in given rangeclass GFG {// Delete L to R element     static Vector<Integer> deleteElement(int A[], int L, int R, int N) {        Vector<Integer> 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<Integer> res = deleteElement(A, L, R, n);        for (Integer x : res) {            System.out.print(x + " ");        }    }}// This code is contributed by PrinciRaj1992
# Python 3 code to delete element# in given range # Delete L to R elementdef 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 Codeif __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# code to delete element// in given rangeusing 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// PHP code to delete element// in given range // Delete L to R elementfunction deleteElement($A, $L, $R, $N){    $B = array();     for ($i = 0; $i < $N; $i++)    {        if ($i <= $L or $i >= $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?>
<script>    // Javascript code to delete element in given range         function deleteElement(A, L, R, N) {        let B = [];          for (let i = 0; i < N; i++) {            if (i <= L || i >= R) {                B.push(A[i]);            }        }          return B;    }         let A = [3, 5, 3, 4, 9, 3, 1, 6, 3, 11, 12, 3];    let L = 2, R = 7;    let n = A.length;    let res = deleteElement(A, L, R, n);    for(let i = 0; i < res.length; i++)      document.write(res[i] + " "); // This code is contributed by divyeshrabadiya07.</script>
3 5 3 6 3 11 12 3
 
Time Complexity: O(n) Auxiliary Space : O(n)An efficient solution without using extra space. Below is the implementation of the above approach: 
C++
Java
Python 3
C#
PHP
Javascript
// C++ code to delete element// in given range#include <bits/stdc++.h>using namespace std; // Delete L to R elementsint 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 Driverint 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 code to delete element// in given rangeclass GFG{ // Delete L to R elementsstatic 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 Codepublic 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 program  to delete element# in given range # Function to delete L to R elementdef 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 Codeif __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# code to delete element// in given rangeusing System; class GFG{ // Delete L to R elementsstatic 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 Codepublic 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// PHP code to delete element// in given range // Delete L to R elementsfunction deleteElement(&$A, $L, $R, $N){    $i= 0;    $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$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?>
<script>     // JavaScript code to delete element in given range         // Delete L to R elements    function deleteElement(A, L, R, N)    {        let 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;    }         let A = [ 5, 8, 11, 15, 26, 14, 19, 17, 10, 14 ];    let L = 2, R = 7;    let n = A.length;    let res_size = deleteElement(A, L, R, n);    for (let i = 0; i < res_size; i++)        document.write(A[i] + " "); </script>
5 8 11 17 10 14
 
Time Complexity: O(n) Auxiliary Space : O(1) 
Kirti_Mangal
ankthon
Shivi_Aggarwal
29AjayKumar
SURENDRA_GANGWAR
princiraj1992
Rajput-Ji
princi singh
divyesh072019
divyeshrabadiya07
cpp-vector
Arrays
Searching
Arrays
Searching
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.