本文概述
- 建议:在继续解决方案之前, 请先在{IDE}上尝试使用你的方法。
- C ++
- Java
- Python3
- C#
- 的PHP
- C ++
- Java
- Python 3
- C#
- 的PHP
例子:
Input : N = 12A[] = { 3, 5, 3, 4, 9, 3, 1, 6, 3, 11, 12, 3}L = 2R = 7Output : 3 5 3 6 3 11 12 3 since A[2] = 3 but this is exclude A[7] =6 this also exclude Input : N = 10A[] ={ 5, 8, 11, 15, 26, 14, 19, 17, 10, 14 }L = 4R = 6Output :5 8 11 15 26 19 17 10 14
推荐:请尝试以下方法{IDE}首先, 在继续解决方案之前。一种天真的方法是要删除L到R范围内的元素, 并留出多余的空间。
下面是上述方法的实现:
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
?>
输出如下:
3 5 3 6 3 11 12 3
时间复杂度:
上)
辅助空间:
【删除给定索引范围为[L – R]的数组元素】上)
An
有效的解决方案
无需使用额外的空间。
下面是上述方法的实现:
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 programto 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 , 7n = 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
?>
输出如下:
5 8 11 17 10 14
时间复杂度:O(n)
辅助空间:O(1)
推荐阅读
- 用Python编写CSV文件详细指南
- PHP | imagick的自适应SharpenImage()函数
- 信息学奥赛|2022CSP初赛普及组比赛详情
- JavaScript二叉树实现和原理完全讲解
- 20个Github最流行的JavaScript前端开发库合集
- 前端开发都流行什么框架(推荐8个最好用的JavaScript前端开发框架)
- 收藏了!10个最好的前端开发工具和插件合集
- 使用回溯算法解决收费公路重建问题,JavaScript算法设计
- 前端面试题(14道精选Vue面试题及答案)