GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — algorithms/java/LongestIncreaseSubsequence.java at master · lntutor/algorithms Expand file tree/ Copy pathLongestIncreaseSubsequence.javaMore file actions 43 lines (38 loc) · 1.09 KB / Copy pathLongestIncreaseSubsequence.javaFile metadata and controls43 lines (38 loc) · 1.09 KB 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 import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { private static int calLIS(int [] array) { Map<Integer, List<Integer>> lis = new HashMap<>(); for (int i = 0; i < array.length; i++) { lis.put(i, new LinkedList<Integer>()); } lis.get(0).add(array[0]); int longestIncSub = 1; for (int i = 1 ; i < array.length; i++) { for (int j = 0; j < i; j++) { if (array[i] >= array[j] && lis.get(i).size() < lis.get(j).size() + 1) { lis.get(i).clear(); lis.get(i).addAll(lis.get(j)); } } lis.get(i).add(array[i]); if (lis.get(i).size() > longestIncSub) { longestIncSub = lis.get(i).size(); } } return longestIncSub; } public static void main(String[] args) throws IOException { BufferedReader ob = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(ob.readLine()); int [] array = new int[n]; for (int i = 0; i < n; i++) { array[i] = Integer.parseInt(ob.readLine()); //System.out.println(array[i]); } System.out.println(calLIS(array)); } } |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |