cómo obtener el valor mínimo, máximo de una matriz?

Aquí está mi código. Tengo que obtener el valor mínimo, máximo de mi matriz para poder obtener el rango, siempre que los números de entrada el valor mínimo es 0. Por favor, ayúdame. Gracias:)

final AutoCompleteTextView inputValues = (AutoCompleteTextView) findViewById(R.id.txt_input); final TextView txtMinimum = (TextView) findViewById(R.id.txtMinimum); final TextView txtMaximum = (TextView) findViewById(R.id.txtMaximum); final TextView txtRange = (TextView) findViewById(R.id.txtRange); Button btncalculate = (Button)findViewById(R.id.btncalculate); btncalculate.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { String []values = ( inputValues.getText().toString().split(",")); int[] convertedValues = new int[values.length]; // calculate for the minimum and maximum number int min = 0; int max=0; min = max = convertedValues[0]; for (int i = 0; i < convertedValues.length; ++i) { convertedValues[i] =Integer.parseInt(values[i]); min = Math.min(min, convertedValues[i]); max = Math.max(max, convertedValues[i]); } txtMinimum.setText(Integer.toString(min)); txtMaximum.setText(Integer.toString(max)); // calculate for the range int range=max - min; txtRange.setText(Integer.toString(range)); }}); 

 int[] convertedValues = new int[10]; int max = convertedValues[0]; for (int i = 1; i < convertedValues.length; i++) { if (convertedValues[i] > max) { max = convertedValues[i]; } } 

Del mismo modo, busque el valor mínimo cambiando el símbolo menor.

Utilice las Collections con su código que lo utiliza puede encontrar mínimo y máximo.

siguiente es el código de ejemplo para eso:

  List<Integer> list = Arrays.asList(100,2,3,4,5,6,7,67,2,32); int min = Collections.min(list); int max = Collections.max(list); System.out.println(min); System.out.println(max); 

Salida:

 2 100 

Puede ordenar la matriz y obtener las posiciones 0 y length-1 :

 Arrays.sort(convertedValues); int min = convertedValues[0]; int max = convertedValues[convertedValues.length - 1]; 

Arrays # sort (int []) :

Ordena el orden especificado de ints en orden numérico ascendente.

Así, después de la clasificación, el primer elemento es el mínimo, el último es el máximo.

 int minIndex = list.indexOf(Collections.min(list)); 

o

 public class MinMaxValue { public static void main(String[] args) { char[] a = {'3', '5', '1', '4', '2'}; List b = Arrays.asList(ArrayUtils.toObject(a)); System.out.println(Collections.min(b)); System.out.println(Collections.max(b)); } } 
 1. Sort the array. 2. Minimum is the First element. 3. Maximum is the last element of the array. 

Sólo para tu información; Ventajas de la ordenación ordenada en la computación.

Creo que solo falta un cheque .. Debes definir las variables min y max como -1 y agregar la siguiente verificación.

 if (min == -1) { min = convertedValues[i]; } 
 for(int i = 1; i < convertedValues.length; i++) { if(convertedValues[i]>max) max=convertedValues[i]; if(convertedValues[i]<min) min=convertedValues[i]; } 
 public static int[] getMinMax(int[] array) { int min = Integer.MAX_VALUE; //or -1 int max = Integer.MIN_VALUE; //or -1 for(int i : array) { //if you need to know the index, use int (i=0;i<array.length;i++) instead if(i < min) min = i; //or if(min == -1 || array[i] < array[min]) min = i; if(i > max) max = i; //or if(max == -1 || array[i] > array[max]) max = i; } return new int[] {min, max}; } 

La clasificación toma al menos O (n log (n)), siendo n la cantidad de elementos en la matriz. Si simplemente mira cada elemento en la matriz, encontrar el elemento mínimo y máximo está en O (n). Para grandes matrices, eso es mucho más rápido.

  int n = Integer.parseInt(values[0]); convertedValues[i] = n; int min = n; int max = n; for(int i = 1; i < convertedValues.length; ++i) { n = Integer.parseInt(values[i]); convertedValues[i] = n; min = Math.min(min, n); max = Math.max(max, n); } 

En su código, elimine la siguiente parte:

 (min = max = convertedValues[0];) 

e inicializar min a 1:

 (int min = 1) 
  • Cómo imprimir un archivo de texto con WiFi Direct
  • ¿Estancado en la pantalla del emulador en Eclipse con Android Development?
  • Cómo configurar una dirección IP estática, máscara de red, puerta de enlace, DNS mediante programación en Android 5.x (Lollipop) para conexión Wi-Fi
  • Cómo recibir mensajes sin usar createChat para android XMPP chat smack api
  • ActionBarSherlock y FragmentTabsPager
  • ¿Es posible establecer más de una comunicación bluetooth en android
  • Recortar mapa de bits sin leer todo el mapa de bits primero
  • Login Facebook registerCallback no llamado
  • Devolución de llamada desde el adaptador
  • Consiga un comportamiento igual que AppBarLayout para cualquier ViewGroup en CoordinatorLayout
  • ¿Cómo obtener el mismo operador wifi de wifi Lista de nuevo y de nuevo en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.