b场景算法题(Java实现)

<一>、字母倒着输出

题目描述:

给定一组字符串,然这组字符串中的字母按照倒着的顺序输出,空格保留。

例如:

  输入:

    i am a student

  输出:

    student am i

代码如下:

import java.util.Scanner;

public class Main4 {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		String str = in.nextLine();
		String[] strs = str.split(" ");
		
		StringBuffer sb = new StringBuffer();
		for(int i = strs.length - 1;i >= 0;i--) {
			sb = sb.append(strs[i]).append(" ");
		}
		System.out.println(sb.toString());
	}

}

 <二>寻找最小数的字串

题目描述:

给定一组数组,用逗号分隔,求得到这组数组中数组成的最小数字。

例如:

  输入:

    21,321

  输出;

    21321

代码如下:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

public class Main5 {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String str = in.nextLine();
		String[] strs = str.split(",");
		int[] arr = new int[strs.length];
		
		for(int i = 0;i < strs.length;i++) {
			arr[i] = Integer.valueOf(strs[i]);
		}
		mergMeth(arr);
	}

	private static void mergMeth(int[] arr){
		if(arr.length == 0) {
			System.out.println(0);
		}
		
		ArrayList<Integer> list = new ArrayList<>();
		for(Integer i : arr) {
			list.add(arr[i]);
		}
		
		Collections.sort(list, new Comparator<Integer>() {

			@Override
			public int compare(Integer str1, Integer str2) {
				
				String s1 = str1 +"," + str2;
				String s2 = str2 +"," + str1;
				return s1.compareTo(s2);
			}
			
		});
		StringBuffer sb = new StringBuffer();
		for(Integer j : list) {
			sb.append(j);
		}
		System.out.println(sb.toString());
	}
}

   

猜你喜欢

转载自www.cnblogs.com/youdiaodaxue16/p/11388602.html
今日推荐