Created
September 9, 2018 15:00
-
-
Save Reflej0/5fafd6173b89511149f8cbbac7609028 to your computer and use it in GitHub Desktop.
secuenciaCiclica private
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package Ejercicio; | |
import org.junit.Assert; | |
import org.junit.jupiter.api.Test; | |
public class Ejercicio | |
{ | |
public static void main(String[] args) | |
{ | |
int[] v = {-2, 0, -1}; | |
boolean resultado = secuenciaCiclica(v); | |
System.out.println(resultado); | |
} | |
/* 113 caracteres sin static. | |
*/ | |
static boolean secuenciaCiclica(int[]v) | |
{ | |
int l=v.length-1,e=0,i=0; | |
for(;i<l;) | |
e+=v[i]>v[++i]?1:0; | |
e+=v[l]>v[0]?1:0; | |
return e<2; | |
} | |
@Test | |
public void test1() | |
{ | |
int[] v = {5, 9, 1, 2, 4}; | |
boolean resultado = secuenciaCiclica(v); | |
Assert.assertEquals(resultado, true); | |
} | |
@Test | |
public void test2() | |
{ | |
int[] v = {1, 3, 2}; | |
boolean resultado = secuenciaCiclica(v); | |
Assert.assertEquals(resultado, false); | |
} | |
@Test | |
public void test3() | |
{ | |
int[] v = {1, 4, 10, -2, 0}; | |
boolean resultado = secuenciaCiclica(v); | |
Assert.assertEquals(resultado, true); | |
} | |
@Test | |
public void test4() | |
{ | |
int[] v = {-2, 0, -1}; | |
boolean resultado = secuenciaCiclica(v); | |
Assert.assertEquals(resultado, false); | |
} | |
@Test | |
public void test5() | |
{ | |
int[] v = {1}; | |
boolean resultado = secuenciaCiclica(v); | |
Assert.assertEquals(resultado, true); | |
} | |
} | |
/*public static void print(int a[], int n, int ind) | |
{ | |
for (int i = ind; i < n + ind; i++) | |
System.out.print(a[(i % n)] + " "); | |
}*/ | |
/* 1) Guardo el .length en una variable porque al usarlo varias veces economizo espacio. | |
* 2) Busco el menor del array. | |
* 3) Busco el indice del menor. | |
* 4) Parto desde el menor haciendo el vector circular viendo si esta ordenado. | |
* */ | |
/*static boolean secuenciaCiclica(int[]v) | |
{ | |
int n=v.length; | |
int[] x = Arrays.copyOf(v, n); | |
Arrays.sort(x); | |
int m=x[0]; | |
for(int i=0;i<n;i++) | |
if(m==v[i]) | |
{ | |
m=i; | |
i=100; | |
} | |
for(int i=m;i<n+m-1;i++) | |
if(v[i%n]>v[(i+1)%n]) | |
return 2<1; | |
return 2>1; | |
} | |
/* 162 caracteres sin static. | |
*/ | |
/*static boolean secuenciaCiclica2(int[]v) | |
{ | |
int n=v.length; | |
int i=0, m=v[0],p=0; | |
for(;i<n;i++) | |
if(m>v[i]){p=i;m=v[i];} | |
for(i=p;i<n+p-1;i++) | |
if(v[i%n]>v[(i+1)%n]) | |
return 2<1; | |
return 2>1; | |
}*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment