`
shukuiyan
  • 浏览: 408765 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

将一个交错数据合并为一个一维数组

阅读更多

最近参加笔试比较多,遇到这道题:

题目: 将一个交错数据合并为一个一维数组

输入: strJaggedArray[][], 由多个一维数组(长度不定,个数不定)组成的交错数组

输出: strArray[], 由strJaggedArray[r][c]中的元素以"&"为分隔符拼合而成, 是strJaggedArray中数组元素的无重复组合(不考虑顺序)

 

举例: 

输入: strJaggedArray[0]=new string[] {"we","are","student"};

      strJaggedArray[1]=new string[] {"say","what"};

输出: strArray[]={"we&say","we&what","are&say","are&what","student&say","student&what"}

 

输入: strJaggedArray[0]=new string[] {"cs","app"};

      strJaggedArray[1]=new string[] {"good","cool","dev"};

      strJaggedArray[2]=new string[] {"king","of","the","world"};

输出: strArray[]={"cs&good&king","cs&good&of","cs&good&the","cs&good&world","cs&cool&king","cs&cool&of","cs&cool&the","cs&cool&world",...}

 

 

代码:

public class ExchangeArray {
	public static void main(String args[]){
		String a[][]=new String[4][];
		a[0]=new String[]{"cs","app"};
		a[1]=new String[]{"good","cool","dev"};
		a[2]=new String[]{"king","of","the","world"};
		a[3]=new String[]{"hello","every","one","how","are","you"};
		for(int i=0;i<a.length;i++){
			System.out.println();
			for(int j=0;j<a[i].length;j++){
				System.out.print(a[i][j]+"  ");
			}
		}
		System.out.println("the result is:");
		String b[]=exchange(a);
		for(int i=0;i<b.length;i++){
			System.out.print(b[i]+"  ");
		}
	}
	
	public static String[] exchange(String exchange[][]){
		String result[][]=exchangeArray(exchange);
		return result[0];
	}
	
	public static String[][] exchangeArray(String exchange[][]){
		if(exchange.length>=2){
			int len1=exchange[0].length;
			int len2=exchange[1].length;
			int len=len1*len2;
			String temp []=new String[len];
			int index=0;
			for(int i=0;i<len1;i++){
				for(int j=0;j<len2;j++){
					temp[index++]=exchange[0][i]+"&"+exchange[1][j];
				}
			}
			String copy[][]=new String[exchange.length-1][];
			for(int i=2;i<exchange.length;i++){
				copy[i-1]=exchange[i];
			}
			copy[0]=temp;
			return exchangeArray(copy);
		}else{
			return exchange;
		}
	}
}
 
分享到:
评论
1 楼 jackroomage 2013-09-16  
(长度不定,个数不定) !!!!!!!!

相关推荐

Global site tag (gtag.js) - Google Analytics