Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

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

  • Difficulty Level : Medium
  • Last Updated : 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 

 

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

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 <bits/stdc++.h>
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<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

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




<?php
// PHP code to delete element
// in given range
 
// Delete L to R element
function 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
?>

Javascript




<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>
Output: 
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++




// C++ code to delete element
// in given range
#include <bits/stdc++.h>
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




<?php
// PHP code to delete element
// in given range
 
// Delete L to R elements
function 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
?>

Javascript




<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>
Output: 
5 8 11 17 10 14

 

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




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!