1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | public static void main(String[] args) { int [] numeros= { 1 , 2 , 3 , 4 , 5 }; System.out.println(Arrays.toString(rotarDerecha(numeros, 2 ))); System.out.println(Arrays.toString(numeros)); } /* * Crear una función rotarDerecha a la que la pasamos un * array de enteros y nos devuelve el array con los elementos * desplazados a la derecha (el último va al principio) rotarDerecha([1,2,3,4]) -> [4,1,2,3] */ public static int [] rotarDerecha( int [] array, int pos) { int longitud=array.length; int [] nuevo= new int [longitud]; // En el primero pongo el último // En los siguientes del nuevo pongo el que está en // la posición anterior del que me pasan //nuevo[0]=array[array.length-1]; for ( int i= 0 ;i<longitud;i++) { nuevo[i]=array[(i-pos+longitud) % longitud]; } return nuevo; } public static int paridadArray( int [] numeros) { // Dos contadores: pares e impares int pares = 0 ; int impares = 0 ; for ( int numero : numeros) { if (numero % 2 == 0 ) { pares++; } else { impares++; } } switch (Integer.compare(pares, impares)) { case - 1 : return 1 ; case 1 : return 2 ; default : return 0 ; } } public static boolean hayDuplicados( int [] numeros) { int [] ordenado=numeros.clone(); Arrays.sort(ordenado); // { 1, 2, 3, 4, 6,5,1 }->{1,1,2,3,4,5,6} for ( int i= 0 ;i<ordenado.length- 1 ;i++) { if (ordenado[i]==ordenado[i+ 1 ]) { return true ; } } return false ; } // Sin ordenar la receta es lo que haría yo public static boolean hayDuplicadosSin( int [] numeros) { for ( int i= 0 ;i<numeros.length;i++) { int numero=numeros[i]; for ( int j=i+ 1 ;j<numeros.length;j++) { if (numeros[j]==numero) { return true ; } } } return false ; } |