国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 监利县| 疏勒县| 图木舒克市| 鄂伦春自治旗| 屏东市| 左云县| 西和县| 贵港市| 宜宾市| 三门县| 大竹县| 华容县| 德令哈市| 高邮市| 东阿县| 桐庐县| 宿松县| 任丘市| 噶尔县| 通山县| 静乐县| 万源市| 周至县| 和龙市| 府谷县| 桦南县| 南漳县| 项城市| 英山县| 高青县| 通渭县| 大埔县| 濮阳县| 社会| 泸西县| 桃源县| 沙河市| 沂南县| 黄梅县| 清流县| 崇礼县|