
一道关于java排序算法的题目(蓝桥杯编程题)
publicclassMain{List<Integer>list=newArrayList<Integer>();intduan=0;intre=0;publicvoi...
public class Main { List<Integer> list = new ArrayList<Integer>(); int duan = 0 ; int re = 0 ; public void wang(){ Scanner scan1 = new Scanner(System.in); Scanner scan = new Scanner(new BufferedInputStream(System.in)); int count = scan1.nextInt(); for(int i = 0 ; i < count ;i++){ String s = scan.nextLine().trim() ; String[] nums = s.split("\\s+"); for(String num : nums){
展开
1个回答
展开全部
import java.io.BufferedInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
public class Main
{
int re = 0;
public String doFilter()
{
//在这里我把断号和重号的初始值都设置成0,实际情况是不可能出现0的情况,所以设置成0.
int m = 0;// 表示断号
int n = 0;// 表示重号
List<String[]> list = new ArrayList<String[]>();
List<Integer> numList = new ArrayList<Integer>();
Scanner scan1 = new Scanner(System.in);
Scanner scan2 = new Scanner(new BufferedInputStream(System.in));
int rowNum = scan1.nextInt();
// 把输入所有行的数据放到numList里
for (int i = 0; i < rowNum; i++)
{
String s = scan2.nextLine().trim();
String[] nums = s.split(" ");
for (String str : nums)
{
if (str.trim().length() != 0)
{
numList.add(Integer.valueOf(str));
}
}
}
// 使用工具类对numList进行排序
Collections.sort(numList, new Comparator<Integer>()
{
@Override
public int compare(Integer a, Integer b)
{
if (a > b)
{
return 1;
}
return -1;
}
});
for (int i = 0; i < numList.size() - 1; i++)
{
//得到断号
if (numList.get(i) == numList.get(i + 1))
{
n = numList.get(i);
continue;
}
//得到重号
if ((numList.get(i) + 1) != numList.get(i + 1))
{
m = numList.get(i) + 1;
}
}
return m + " " + n;
}
public static void main(String[] args)
{
//测试下
System.out.println(new Main().doFilter());
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
public class Main
{
int re = 0;
public String doFilter()
{
//在这里我把断号和重号的初始值都设置成0,实际情况是不可能出现0的情况,所以设置成0.
int m = 0;// 表示断号
int n = 0;// 表示重号
List<String[]> list = new ArrayList<String[]>();
List<Integer> numList = new ArrayList<Integer>();
Scanner scan1 = new Scanner(System.in);
Scanner scan2 = new Scanner(new BufferedInputStream(System.in));
int rowNum = scan1.nextInt();
// 把输入所有行的数据放到numList里
for (int i = 0; i < rowNum; i++)
{
String s = scan2.nextLine().trim();
String[] nums = s.split(" ");
for (String str : nums)
{
if (str.trim().length() != 0)
{
numList.add(Integer.valueOf(str));
}
}
}
// 使用工具类对numList进行排序
Collections.sort(numList, new Comparator<Integer>()
{
@Override
public int compare(Integer a, Integer b)
{
if (a > b)
{
return 1;
}
return -1;
}
});
for (int i = 0; i < numList.size() - 1; i++)
{
//得到断号
if (numList.get(i) == numList.get(i + 1))
{
n = numList.get(i);
continue;
}
//得到重号
if ((numList.get(i) + 1) != numList.get(i + 1))
{
m = numList.get(i) + 1;
}
}
return m + " " + n;
}
public static void main(String[] args)
{
//测试下
System.out.println(new Main().doFilter());
}
}

2025-03-26 广告
Java学习解决方案带来的好处诸多。首先,它能提供系统化的学习路径,帮助学员从基础到进阶,逐步掌握Java编程的核心知识。其次,解决方案通常包含丰富的实战案例和项目练习,这有助于提升学员的实际操作能力,更好地适应企业需求。此外,通过专业的辅...
点击进入详情页
本回答由福州东方锐智提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询