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

/**

* 功能:图片整理

* 题目描述:Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。

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

* 输出: Lily的所有图片按照从小到大的顺序输出

* 样例输入: Ihave1nose2hands10fingers

* 样例输出: 0112Iaadeeefghhinnnorsssv

*/

两种方法:

方法一:

      public static void main(String[] args){
             char[] array= new char[1024];

            Scanner sc= new Scanner(System. in);
            String str= null;
             while(sc.hasNext()){
                  str=sc.nextLine();
                  array=str.toCharArray();
                  Arrays. sort(array);
                   for( int i=0;i<array. length;i++)
                        System. out.print(array[i]);
            }
      }

方法二:

	public static char[] sortPictures(char[] array){
		int temp=0;
		for(int i=0;i<array.length-1;i++){
			for(int j=i+1;j<array.length;j++){
				if(array[i]>array[j])
					swap(array,i,j);
			}
		}
		return array;
	}

	public static void swap(char[] array,int i,int j){
		char temp=array[i];
		array[i]=array[j];
		array[j]=temp;
	}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 05:36:18

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

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

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

华为初级——图片整理

源程序: #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:查找输入整数二进制中1的个数

不得不说这道题就是一道十分蛋疼的题,我本来想着对输入的整数K对1按位与运算,然后再将K向右移一位,循环这样做,知道K为0. 万万没想到,程序一直超时,莫名其妙,看讨论上说是因为这编译器高位补零,还能不能再坑一点. import java.util.Scanner; public class binarySystemOneNumber { public static int findNumberOf1(int k){ int count=0; int num=1; for(int i=1;i<=I

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

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

【华为OJ】【044-超长正整数相加】

[华为OJ][算法总篇章] [华为OJ][044-超长正整数相加] [工程下载] 题目描述 请设计一个算法完成两个超长正整数的加法. 接口说明 /** * 请设计一个算法完成两个超长正整数的加法. * 输入参数: * String addend:加数 * String augend:被加数 * 返回值:加法结果 */ public String addLongInteger(String addend, String augend) { /*在这里实现功能*/ return null; } 输入

【华为OJ】【077-迷宫问题】

[华为OJ][算法总篇章] [华为OJ][077-迷宫问题] [工程下载] 题目描述 定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,}; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的

【华为OJ】【078-计算字符串的距离】

[华为OJ][算法总篇章] [华为OJ][078-计算字符串的距离] [工程下载] 题目描述 Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符.编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance. Ex: 字符串A:abcdefg 字符串B: abcdef 通过增加或是删掉字符"g"的方式达到目的.

【华为OJ】【080-放苹果】

[华为OJ][算法总篇章] [华为OJ][080-放苹果] [工程下载] 题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. 输入 每个用例包含二个整数M和N.0<=m<=10,1<=n<=10.<=n<=10<=m<=10 样例输入 7 3 样例输出 8 /** * 计算放苹果方法数目 * 输入值非法时返回-1 * 1 <= m,n <= 10<

【华为OJ】【040-输入n个整数,输出其中最小的k个】

[华为OJ][算法总篇章] [华为OJ][040-输入n个整数,输出其中最小的k个] [工程下载] 题目描述 输入n个整数,输出其中最小的k个. 输入描述 输入说明 1 输入两个整数 2 输入一个整数数组 输出描述 输出一个整数数组 输入例子 5 2 1 3 5 7 2 输出例子 1 2 算法实现 import java.util.Arrays; import java.util.Scanner; /** * Author: 王俊超 * Date: 2015-12-24 18:57 * Decl