首页 > 试题广场 >

Excel 表列序号

[编程题]Excel 表列序号
  • 热度指数:2015 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
现规定仅有小写字母组成的字符串a的序号为1,字符串b的序号为2,字符串z的序号为26,字符串 aa的序号为27。现给你一个仅由小写字母组成的字符串S,请输出该字符串的序号。
S在字符串afxshrxw范围内
示例1

输入

"c"

输出

3

说明

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

输入

"ab"

输出

28

说明

字符串ab的序号为28
头像 牛客82035003号
发表于 2022-04-11 22:26:06
类似于将由0-9的数字组成的字符串转成十进制数。不过这里是大写字母,进制是26. 大写字母算数值的话就是和字符A的差值再+1,从左往右每个大写字母先转成数值,再乘权值,最后累加 int getNumber(char* S ) {  &nbs 展开全文
头像 面向对象的小白很愉快
发表于 2022-12-10 02:29:01
此题有bug放心,他说只有大写字母,但用例中却有小写字母,只需要判断当前是否是小写字母如果是,就减去32就行,然后相加
头像 君无颜
发表于 2022-03-15 13:01:51
简单实现思路:倒着走,每一位自己的序号乘以26的对应次方 最末尾为C,则为 3*(26^0) = 3*1 倒数第二位是D,则为 4*(26^1) = 4*26 倒数第三位是B,则为 2*(26^2) = 2*676 以此类推累加即可 c++实现 class Solution { public: 展开全文
头像 牛客99414580号
发表于 2022-06-25 11:07:01
#include <string.h> #include <math.h> int getNumber(char* S ) {     // write c 展开全文
头像 牛客498179718号
发表于 2022-05-18 01:35:59
/**  * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可  *  *   * @param n int整型   * @return stri 展开全文
头像 小灰飞413
发表于 2022-03-19 09:37:37
java版:就换转换进制一样,所以要倒着遍历字符串,然后注意第一个数字是1 import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 展开全文
头像 求你们别卷了的小牛很喜欢躺着
发表于 2023-09-07 10:49:51
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param S string字符串 * @retu 展开全文