国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

今日頭條2017后端工程師實習生筆試題——最大映射

2019-11-08 19:38:07
字體:
供稿:網(wǎng)友
[編程題] 最大映射

有 n 個字符串,每個字符串都是由 A-J 的大寫字符構(gòu)成。現(xiàn)在你將每個字符映射為一個 0-9 的數(shù)字,不同字符映射為不同的數(shù)字。這樣每個字符串就可以看做一個整數(shù),唯一的要求是這些整數(shù)必須是正整數(shù)且它們的字符串不能有前導零。現(xiàn)在問你怎樣映射字符才能使得這些字符串表示的整數(shù)之和最大?

輸入描述:

每組測試用例僅包含一組數(shù)據(jù),每組數(shù)據(jù)第一行為一個正整數(shù) n , 接下來有 n 行,每行一個長度不超過 12 且僅包含大寫字母 A-J 的字符串。 n 不大于 50,且至少存在一個字符不是任何字符串的首字母。

輸出描述:

輸出一個數(shù),表示最大和是多少。

輸入例子:
2ABCBCA
輸出例子:
1875
import java.util.Arrays;import java.util.Scanner;public class Main{	public static void main(String[] args){		long[] scores=new long[100];		boolean[] flag=new boolean[100];		int nums;		Scanner sc=new Scanner(System.in);		while(sc.hasNextInt()){			nums=sc.nextInt();			for(int m=0;m<10;m++){				scores[m]=0l;				flag[m]=false;			}			for(int i=0;i<nums;i++){					String a=sc.next();				int la=a.length();				for(int j=0;j<la;j++){					int indexnow=a.charAt(j)-65;					scores[indexnow]+=(long)(Math.pow(10,la-j-1));					if(j==0&&la>1)						flag[indexnow]=true;					}			}				int digit=1,firstdigit=1;long result=0;long firstDigit=5000000000000l;			for(int i=0;i<10;i++){				if(scores[i]<firstDigit&&flag[i]==false){					firstDigit=scores[i];					firstdigit=i;				}							}			for(int i=firstdigit;i<9;i++){				scores[i]=scores[i+1];			}			Arrays.sort(scores,0,9);			for(int i=0;i<9;i++){				result+=scores[i]*digit;				digit++;			}			System.out.PRintln(result);			}		}		}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 双桥区| 玛多县| 临西县| 漳平市| 土默特左旗| 永康市| 卓资县| 浮梁县| 临西县| 改则县| 志丹县| 神池县| 射洪县| 互助| 阿拉尔市| 加查县| 荣成市| 开平市| 潼关县| 隆林| 高邑县| 正定县| 堆龙德庆县| 察哈| 大方县| 孙吴县| 鹤山市| 松潘县| 衡东县| 涟水县| 涞源县| 垫江县| 岳阳市| 比如县| 曲沃县| 富裕县| 托克托县| 河间市| 阜城县| 中卫市| 扶风县|