用到的人會理解此描述,很少說直接上代碼java
public class maxtest { public static void main(String[] args) { //###################二維極點start###################// String[] ewjd = {"2,4","5,3","15,7","3,10","10,6","6,8","8,2","13,5","13,7"}; List listewjd = new ArrayList(); String newewjd; for (int j = 0; j < ewjd.length-1; j++) { for (int i = 0; i < ewjd.length; i++) { if(ewjd.length-1 == i){ break; }else{ String[] split = ewjd[i].split(","); String[] split2 = ewjd[i+1].split(","); if(Integer.parseInt(split[0]) > Integer.parseInt(split2[0])){ newewjd = ewjd[i]; ewjd[i] = ewjd[i+1]; ewjd[i+1] = newewjd; } } } } for (int i = 0; i < ewjd.length; i++) { listewjd.add(ewjd[i]); } System.out.println(jddg(listewjd,1)); //###################二維極點start###################// } //二維極點遞歸 public static List jddg (List listewjd,int start){ if (start == 1) { start = 0 ; for (int i = listewjd.size()-1; i >= 0; i--) { if(0 == i){ break; }else{ String[] split = listewjd.get(i).toString().split(","); String[] split2 = listewjd.get(i-1).toString().split(","); if(Integer.parseInt(split[1]) >= Integer.parseInt(split2[1])){ listewjd.remove(i-1); start = 1; } } } jddg(listewjd,start); } return listewjd; } }
結果以下:code
[3,10, 6,8, 15,7]