0
点赞
收藏
分享

微信扫一扫

算法1111

小禹说财 2022-09-25 阅读 223

第一题:

算法1111_scaner

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;

举报

相关推荐

1111

临时路径1111

1111error

故事1111

乐优商城1111

88E1111使用技巧

1526B. I Hate 1111

0 条评论