Hoje encontrei um problema de encontrar a sub-sequência incremental mais longa. Depois de ler, tentei implementá -lo em Java. Não vou elaborar o que é a sub-sequência incremental mais longa aqui. Você pode usá -lo no Baidu ou no Google. A seguir, o código de implementação:
Nota: As funções implementadas nesta seção do código são
(1) geram aleatoriamente uma matriz com 10 elementos e, em seguida, emitir sua subsequência incremental mais longa (2) emitir o comprimento da subsequência incremental mais longa que termina com um dos elementos como o comprimento
As idéias de implementação específicas foram mostradas em detalhes nos comentários, que são relativamente simples, por isso não as repetirei aqui.
importar java.util.arrays; importar java.util.random; public class lis {public static void main (string [] args) {system.out.println ("gerando uma matriz aleatória ..."); Lis lis = new lis (); int [] oldArray = lis.randomarray (); for (int i = 0; i <OldArray.Length; i ++) {System.out.print (OldArray [i]+""); } System.out.println (); System.out.println ("O comprimento da subsequência incremental mais longa é"); Lis.lisget (OldArray); } public int [] randomArray () {aleatomia Random = new Random (); int [] randomArray = new int [10]; for (int i = 0; i <10; i ++) {aleatória [i] = aleatória.nextint (10); } retornar aleatório; } public void lisget (int [] Arrayl) {int [] lislength = new int [Arrayl.Length]; // O comprimento da sequência incremental mais longa usada para registrar o elemento atual como o maior elemento para (int i = 0; i <Arrayl.Length; } int max = 1; para (int i = 1; i <Arrayl.Length; i ++) {for (int j = 0; j <i; j ++) {if (Arrayl [j] <Arrayl [i] && (lislength [j] +1)> lislength [i]) {lislgthngth [i] = lislngthen [j] +1; } if (max <lislength [i]) {// Obtenha o comprimento da sequência incremental mais longa atual e a posição do último elemento da subsequência max = lislength [i]; }}} System.out.println (max); System.out.println ("A subseqüência incremental mais longa no final do elemento I-TH:"+Arrays.ToString (Lislength)); // Matriz de saída}}O exposto acima é o conteúdo inteiro da implementação simples do Java de subcentos mais longos que o editor traz para você. Espero que seja útil para você e apoiar mais wulin.com ~