华为OJ——图片整理

题目描述

Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。

输入描述:

Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。
输出描述:

Lily的所有图片按照从小到大的顺序输出
输入例子:
Ihave1nose2hands10fingers
输出例子:
0112Iaadeeefghhinnnorsssv

方法一:

import java.util.*;
public class Main{

	public static void main(String[] args) {

		Scanner scan=new Scanner(System.in);
		while(scan.hasNext())
		{
			char[] chars=scan.nextLine().toCharArray();
		List list=new ArrayList();
		for(int i=0;i<chars.length;i++)
		{
			list.add(chars[i]);
		}
		Collections.sort(list);
		Iterator it=list.iterator();
		while(it.hasNext())
		{
			System.out.print(it.next());
		}
		System.out.println();
		}
	}
}

方法二:

import java.util.*;
public class Main {

	public static void main(String[] args) {

		Scanner scan=new Scanner(System.in);
		while(scan.hasNext())
		{
			char[] chars=scan.nextLine().toCharArray();
			int[] ascii=new int[chars.length];
			for(int i=0;i<chars.length;i++)
			{
				ascii[i]=(int)chars[i];
			}
			for(int i=0;i<ascii.length;i++)
			{
				System.out.print(ascii[i]+" ");
			}
			System.out.println();
			sort(ascii);
		}

	}
	static void sort(int[] arr)
	{
		for(int i=0;i<arr.length;i++)
		{
			for(int j=0;j<arr.length-1-i;j++)
			{
				int temp;
				if(arr[j]>arr[j+1])
				{
					temp=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=temp;
				}
			}
		}
		for(int i=0;i<arr.length;i++)
		{
			System.out.print((char)arr[i]);
		}
	}
}
时间: 2024-08-07 17:02:16

华为OJ——图片整理的相关文章

华为初级——图片整理

源程序: #include<iostream> #include<string> using namespace std; //const int max=1024; int main() { char s[1024]; char temp; gets(s); int len; len=strlen(s); for(int i=0;i<len;i++) { for(int j=i+1;j<len;j++) { if(s[i]>s[j]) { temp=s[i];s

华为OJ(二)——图片整理

/** * 功能:图片整理 * 题目描述:Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好. * 输入: Lily使用的图片包括"A"到"Z"."a"到"z"."0"到"9".输入字母或数字个数不超过1024. * 输出: Lily的所有图片按照从小到大的顺序输出 * 样例输入: Ihave1nose2hands10fi

【华为OJ】【028-图片整理】

[华为OJ][算法总篇章] [华为OJ][028-图片整理] [工程下载] 题目描述 Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好.请大家给Lily帮忙解决. 输入描述 Lily使用的图片包括"A"到"Z"."a"到"z"."0"到"9".输入字母或数字个数不超过1024. 输出描述 Lily的所有图片按照从小到大的

【华为OJ】201301 JAVA 题目0-1级 将数组分为相等的两组

描述:  编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,返回true:不满足时返回false. 知识点: 语言基础,字符串,循环,函数,指针,枚举,位运算,结构体,联合体,文件操作,递归    题目来源: 内部整理  练习阶段: 初级  运行时间限制: 10Sec 内存限制: 128MByte 输入: 输入输入的数据个数 输入一个int型数组 输出: 返

【华为OJ】逆波兰

描述:  逆波兰记法中,操作符置于操作数的后面.例如表达"三加四"时,写作"3 4 +",而不是"3 + 4".如果有多个操作符,操作符置于第二个操作数的后面,所以常规中缀记法的"3 - 4 + 5"在逆波 兰记法中写作3 4 - 5 +":先3减去4,再加上5.使用逆波兰记法的一个好处是不需要使用括号. 请编写Java函数计算逆波兰表达式的结果. 输入一个逆波兰表达式, 1.操作数类型为正的double数,符合ja

华为OJ:汽水瓶

题目有点像小学数学题,因为三个空瓶可以换一瓶汽水,但喝完一瓶汽水就可以得到一个空瓶.所以相当于两个空瓶就可以换到一瓶汽水. 把输入除以2即可.这里讲一下java多出入,可以用in.hasNext(),就相当于C/C++里面的while(scanf("%d",n)!=EOF). import java.util.Scanner; public class qishuiping { public static void main(String args[]){ Scanner input=

华为OJ:分段排序

题目有点绕,一个是要二分,用三个字符串,存前,中,后三个,前,后部分都降序排序,然后后半部分再反转一下,讲三部分合起来就好了. import java.util.Scanner; public class dividesort { public static void sort(StringBuffer s){ for(int i=0;i<s.length();i++){ for(int j=i;j<s.length();j++){ if(s.charAt(i)>s.charAt(j))

华为OJ:2290 字符串最后一个单词的长度

用JAVA就很简单,只要用spilt函数,再输出最后一个字符串. 题意是要求你先自己写分隔好字符串这样子.有个比较坑的地方就是测试用例应该有个全为空的,要注意. import java.util.Scanner; public class Main { public static void main(String args[]){ Scanner input=new Scanner(System.in); String s=input.nextLine(); String ss[]=s.spli

华为OJ: 公共字串计算

有几个需要注意的地方,一个这道题是不区分大小写的,所以在计算之前对输入的字符串要做小写或者大写的转换. 第二个,思路一定要清晰,先将s1从[i]处开始与s2的[j]开始匹配,不相等则j++直到j等于s2.length()-1,相等,则i++,j++.注意,这里就是i++,即下次重新开始从s[i]开始匹配时,两次i之间的距离可能会超过1.再j那里设置一个计数器计数即可. import java.util.Scanner; public class findMaxSubStringLength {