折纸SEO SEO优化 一道面试算法题?

一道面试算法题?

package com.test;import java.util.HashMap;import java.u…

一道面试算法题?

package com.test;import java.util.HashMap;import java.util.Map;import java.util.Vector;public class testArr { public static void main(String args[]){ //要转变的数组 int[] intArr = new int[{23,3,465,2,57,561,36,35 }; //用于封装数字的第一数字,而且保证唯一性,也是数组的一维 Vector vecArr = new Vector( ); //封装数据如 规则如下 key 第一个数字 value 为一个向量。 如上数组 2为key ,则对应的向量中的 有 23,2 Map mapArr = new HashMap( ); int size = 0; for( int i= 0; i<intArr.length; i++ ){ String tempStr = String.valueOf( intArr[i] ).substring( 0, 1 ); Vector temVec = new Vector( ); //截取首数字字并将它封装到一个vector中 if( !vecArr.contains( tempStr) ) vecArr.add( tempStr ) ; //并查看是否有响应的map封装 若是有则取出 if( mapArr.get( tempStr ) == null ){ }else{ temVec = (Vector) mapArr.get( tempStr ); } //向对应的维加入数据 temVec.add( intArr[i] ); //获取二维 if( temVec.size() > size ){ size = temVec.size( ); } //map封装对应首数字的数字聚集 mapArr.put(tempStr, temVec); } int[][] doubleArr = new int[vecArr.size()][ size ]; //天生二维数组 for( int i = 0; i<vecArr.size( ); i++ ){ Vector temVec = new Vector( ); temVec = (Vector) mapArr.get( vecArr.get( i ).toString() ); for( int j=0 ; j<size; j++ ){ if( j < temVec.size( ) ) doubleArr[ i ][ j ] = Integer.parseInt(temVec.get(j).toString()); } } //输出二维数组 for ( int j=0; j<size; j++ ){ for( int i = 0; i<vecArr.size( ); i++ ){ System.out.print( doubleArr[ i ][ j ] + ” ” ); } System.out.println(“\n”); } } }上面的代码已经把数据封装到二维数组中去了你想转成23,2,3,36,35,

百度和Google的搜索算法,技术有何差异

465,57,561这样的就简朴了方式如下 //输出23,2,3,36,35,465,57,561 for ( int i = 0; i<vecArr.size( ); i++ ){ for( int j=0; j<size; j++ ){ if( doubleArr[ i ][ j ]!= 0 ) System.out.print( doubleArr[ i ][ j ] + “,” ); } }也许就这样了,其中泛起的vector或者map都可以用数据取代的。这我就不给你写。实在楼上的已经讲的挺好了….

面试题递归算法

本文来自网络,不代表折纸SEO立场,转载请注明出处:https://www.30th-feb.com/5276

作者: DAR_KING

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

在线咨询: QQ交谈

邮箱: luckiestmjt@163.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部