第一题:
import java. util. ArrayList;import java . util. Scanner ;
public class Main1
public static void getOrder() f
Scanner sc = new Scanner(System.in);
String[] line = sc . nextLine() .split( regex: ",");ArrayL ist list = new ArrayList<>();
ArrayList original = new ArrayList<();for (String s : line)
list . add(Integer , parseInt(s));
original. add(Integer . parseInt(s));
int[] res = new int[line. length];
int order = 0;
while (list.size() > 0) f
int curr = list . remove( index: 0);
boolean flag = true ;
for (int i = 0; i < list.size(); i++) fif (list.get(i) > curr) f
list . add(curr);
flag = false;
break;
if (flag) f
int index = original. index0f(curr);original. set(index, -1);
res[index] = order;
order++;
for (int i = 0; i < res.length; i++) fif (i != res.length - 1) f
System. out. print(res[i] + ",");else
int[] res = new int[line. length];
intorder=0;
while (list.size() > 0) f
int curr = list. remove( index: 0) ;
boolean flag = true ;
for (int i = 0; i < list.size(); i++) fif (list.get(i) » curr) f
list . add(curr);
flag = false;
break;
]
if (flag) f
int index = original. index0f(curr);original. set(index, -1);
res [index] = order;
order++;
for (int i = 0; i < res.length; i++) fif (i != res.length - 1) f
System . out. print(res[i] + ",");] else f
System , out . print(res[i]);
1
public static void main(String[] args) fget0rder() ;
第二题
import java . util. Scanner;
/*
@vecsion v1.0@Desciption:@Author: Vicky
public class Main
public static void main(String[] args) f
Scanner scanner = new Scanner(System . in) ;
int num = Integer . parseInt(scanner . nextLine());String[] array = new String[num];
for (int i = 0; i < array.length; i++) farray[i] = scanner . nextLine() ;
int step = 0
intsum=0
int minSum = Integer . MAX_ VALUE;
int out = numint count = 0;
int[] flag = new int[num];
Arrays. fill(flag, val: -1);
while (out != 0) (
flag[step] = step == 0 ? getMin(array[step], flag[step + 1]) : getMin(array[step], flag[step - 1]);sum += Integer . parseInt(array[step].split( regex: " ")[flag[step]]);
step++;
count++;
if (step == num) f
step = 0;
if(count == num) f
if (sum < minSum) fminSum = sum;
count = 0
count++ ;
if (step == num) fstep = 0;
if(count == num) f
if (sum < minSum) fminSum = sum;
count = 0;
out--;
step = num - out;
Arrays . fill(flag, val: -1);sum = 0;
)
System . out . println(minSum);
1
public static int getMin(String str, int index) f
String[] nums = str .split( regex: " ");
int min = Integer .MAX_ VALUE ;
intpos=0
for (int i = 0; i < nums. length; i++) f
if (Integer . parseInt(nums[i]) < min && i != index) fmin = Integer . parseInt (nums[i]);
pos = i,
return pos;