Eliminar duplicado Ordenada array matriz - elementos eliminación

26. duplicados Eliminar matriz especie

Dada una matriz ordenada, es necesario eliminar los elementos recurrentes en su lugar, de modo que cada elemento aparece sólo una vez, después de regresar a la nueva longitud de la matriz se retira.

No utilice espacio adicional para una matriz, debe modificar la matriz de entrada en su lugar y completado en las condiciones de uso O (1) espacio adicional.

 

Ejemplo 1:

nums Dadas Array = [1,1,2],

Función debe devolver una nueva longitud de 2, y los dos primeros elementos de la matriz original se modifica para nums 1, 2.

No es necesario tener en cuenta más allá de los elementos de la nueva longitud de la matriz detrás.
Ejemplo 2:

nums Dadas = [0,0,1,1,1,2,2,3,3,4],

Nueva función debe devolver la longitud 5 y los cinco primeros elementos de los nums matriz original se modifica para 0, 1, 2, 3, 4.

No es necesario tener en cuenta más allá de los elementos de la nueva longitud de la matriz detrás.

1  público  clase T26 {
 2      públicas  int RemoveDuplicates ( int [] nums) {
 3          int lento = 0, rápido = 1 ;
4          int count = 1 ;
5          , mientras que (rápido < nums.length) {
 6              si (nums [lentos] == nums [rápido]) {
 7                  rápido ++ ;
8              } más {
 9                  nums [lenta + 1] = nums [rápido];
10                  lento ++ ;
11                  recuento ++;
12              }
 13          }
 14          de retorno recuento;
15      }
 16 }

27. elementos quitan

Nums darle una matriz y un val valor, es necesario eliminar todos los valores iguales a elementos lugar de val, y devuelve la nueva longitud de la matriz después de la eliminación.

No utilice espacio adicional para una matriz, debe utilizar solamente (1) extra de espacio y el lugar de O modificar la matriz de entrada.

Orden de los elementos puede ser cambiado. No es necesario tener en cuenta más allá de los elementos de la nueva longitud de la matriz detrás.

 

Ejemplo 1:

nums Dadas = [3,2,2,3], val = 3,

Función debe devolver una nueva longitud de 2, y los nums dos primeros elementos son 2.

No es necesario tener en cuenta más allá de los elementos de la nueva longitud de la matriz detrás.
Ejemplo 2:

nums Dadas = [0,1,2,2,3,0,4,2], val = 2,

Nueva función debe devolver la longitud 5 y los primeros cinco elementos nums es 0, 1, 3, 0, 4.

Tenga en cuenta que estos cinco elementos pueden estar en cualquier orden.

No es necesario tener en cuenta más allá de los elementos de la nueva longitud de la matriz detrás.

1  público  clase T27 {
 2      público  int removeElement ( int [] nums, int val) {
 3          int lento = 0, rápido = 0 ;
4          int count = 0 ;
5          , mientras que (rápido < nums.length) {
 6              si (nums [rápido] == val) {
 7                  rápido ++ ;
8                  recuento ++ ;
9              } más {
 10                  nums [lento ++] = nums [FAST ++ ];
11             }
 12          }
 13          de retorno nums.length - contar;
14      }
 15 }

 

Supongo que te gusta

Origin www.cnblogs.com/zzytxl/p/12508266.html
Recomendado
Clasificación