千家信息网

java中怎么实现一个二维极点算法

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,本篇文章为大家展示了java中怎么实现一个二维极点算法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。用到的人会理解此描述,不多说直接上代码public cla
千家信息网最后更新 2025年02月05日java中怎么实现一个二维极点算法

本篇文章为大家展示了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中怎么实现一个二维极点算法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0