本篇文章为大家展示了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; } }
结果如下:
[3,10, 6,8, 15,7]
上述内容就是java中怎么实现一个二维极点算法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。