首页 > 试题广场 >

Excel 表列序号

[编程题]Excel 表列序号
  • 热度指数:1699 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
现给你一个仅由大写字母组成的字符串S,表示Excel表格里面的列名称。比如字符串A的序号为1,字符串B的序号为2,字符串Z的序号为26,字符串 AA的序号为27,请输出该字符串的序号。

S在字符串AXFD范围内
示例1

输入

"C"

输出

3

说明

字符串c的序号为3 
示例2

输入

"AB"

输出

28

说明

字符串ab的序号为28 
public class GetNumber {
	public int getNumber(String S) {
		// write code here
		S = S.toUpperCase(Locale.ROOT);
		char[] chars = S.toCharArray();
		int number = 0;
		for (int i = 0; i < chars.length; i++) {
			int num = chars[i] - 'A' + 1;
			number = number * 26 + num;
		}
		return number;
	}
}

发表于 2022-10-10 14:40:46 回复(0)
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param S string字符串 
     * @return int整型
     */
    public int getNumber(String S) {
        // write code here
        int result = 0;
        if (S == null || "".equals(S)) {
            return 0;
        }
        char[] chars = S.toCharArray();
        for (int i = chars.length - 1; i >= 0; i--) {
            int v = (int) ((chars[i] - 'A' + 1) * Math.pow(26, chars.length - 1 - i));
            result += v;
        }
        return result;
    }

}

发表于 2022-03-13 21:42:00 回复(0)

问题信息

难度:
2条回答 2075浏览

热门推荐

通过挑战的用户

查看代码