java中怎么实现一个二维极点算法
更新:HHH   时间:2023-1-7


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

返回大数据教程...